一、正则表达式实例
匹配特殊字符匹配
空格(空白字符) & 任意非空格(任意非空白字符)
s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ f v] |
s | 匹配任何非空白字符。等价于[^ f v] |
换行符
表达式:
数字
表达式:
行起始与结束
^x | 处于一行开头位置的某字符 |
x$ | 处于一行结尾位置的某字符 |
^x.* | 以x开头的一整行 |
x$ | 以x结束的一整行 |
匹配两个特殊字符中间的内容
https://www.cnblogs.com/exmyth/p/8796954.html
匹配两个字符串A与B中间的字符串包含A与B:
表达式: A.*?B
(“.“表示任意字符,“?”表示匹配0个或多个)
示例: Abaidu.comB
结果: Awww.apizl.comB
匹配两个字符串A与B中间的字符串包含A但是不包含B:
表达式: A.*?(?=B)
示例: Awww.apizl.comB
结果: Awww.apizl.com
匹配两个字符串A与B中间的字符串且不包含A与B:
表达式: (?<=A).*?(?=B)
(?<=要匹配的开始字符),不包含后面要匹配的字符写法(?=要匹配的结束字符)
示例: Awww.baidu.comB
结果: www.baidu.com
匹配以“http”开头的整行字符串
表达式: ^http.*$
匹配任意含http的整行
^.*http.*$
匹配以以//或若干空格+//开头的整行
表达式: ^s*//.*
s* 表示若干个空格(可以是0个)。
s+ 表示一个或多个空格
删除空行
表达式: ^[ ]*
替换类容保持为空,表示删除查找到的内容
Others
write(0x10900000, 0x0100, 0x123);
表达式: \,s0x[0-9]{1,8}) -> )
效果就变成了write(0x10900000, 0x0100);
write(0x10900000, 0x0100, 0x1A23);
表达式: \,s0x.{1,8}) -> )
效果就变成了write(0x10900000, 0x0100);
二、通配符
通配符是一种特殊语句(可以认为是正则表达式的阉割版),主要有星号(*)和问号(?),用来模糊搜索文件
星号(*):代替零个、单个或多个字符
如正在查找以AEW开头的一个文件,但不记得文件名其余部分,可以输入AEW*,查找以AEW开头的所有文件类型的文件,如AEWT.txt、AEWU.EXE、AEWI.dll等。要缩小范围可以输入AEW*.txt,查找以AEW开头的所有文件类型并.txt为扩展名的文件如AEWIP.txt、AEWDF.txt。
问号(?):代替一个字符
如输入love?,查找以love开头的一个字符结尾文件类型的文件,如lovey、lovei等。要缩小范围可以输入love?.doc,查找以love开头的一个字符结尾文件类型并.doc为扩展名的文件如lovey.doc、loveh.doc。