正则表达式测试工具

如果你不觉得正则表达式很难读写的话,要么你是一个天才,要么,你不是地球人。正则表达式的语法很令人头疼,即使对经常使用它的人来说也是如此。由于难于读写,容易出错,所以找一种工具对正则表达式进行测试是很有必要的。

1. RegexBuddy

返回一个文件的类型!只需要一个参数就是文件的路径(可以是绝对路径也可以是相对的路径)

image-20180705215039060

下载地址:http://www.regexbuddy.com/download.html

image-20180705215529192

主界面效果:

image-20180705215150242

re模块操作

在Python中需要通过正则表达式对字符串进行匹配的时候,可以使用一个模块,名字为re

1. re模块使用步骤

re.match(pattern, string, flags=0)

从头匹配一个符合规则的字符串,从起始位置开始匹配,匹配成功返回一个对象,未匹配成功返回None

  • pattern: 正则模型
  • string : 要匹配的字符串
  • flags: 匹配模式: 如re.I 忽略大小写, re.M 多行匹配

注:这个方法并不是完全匹配。当pattern结束时若string还有剩余字符,仍然视为成功。想要完全匹配,可以在表达式末尾加上边界匹配符'$'

match() 方法一旦匹配成功,就是一个match object对象,而match object对象有以下方法:

  • group() 返回被 RE 匹配的字符串
  • start() 返回匹配开始的位置
  • end() 返回匹配结束的位置
  • span() 返回一个元组包含匹配 (开始,结束) 的位置
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
    #coding=utf-8

    # 导入re模块
    import re

    # 使用match方法进行匹配操作
    result = re.match(正则表达式,要匹配的字符串)

    # 如果上一步匹配到数据的话,可以使用group方法来提取数据
    result.group()

2. re模块示例

匹配以itcast开头的语句

 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
import re

# 通过re.match() 方法来进行匹配
# match 有三个参数
# 1)正则表达式
# 2)要匹配的源字符串
# 3)匹配的模式
# 如果匹配成功,返回Match对象,匹配失败 None

# re.match 返回一个Match Object 对象
# 对象提供了 group() 方法,来获取匹配的结果
result = re.match("itcast", "itcast.cn")

# 判断是否匹配成功
if result:
    # 打印匹配的结果
    print(result.group())
else:
    print("匹配失败!")

运行结果为:

1
2
3
itcast

Process finished with exit code 0

3. 说明

  • re.match() 能够匹配出itcast.cn字符串中开头部分的itcast