正则表达式与通配符
一、正则表达式实例
匹配特殊字符匹配
\s | 匹配任何空白字符,包括空格、制表符、换页符等等。等价于[ \f\n\r\t\v] |
\s | 匹配任何非空白字符。等价于[^ \f\n\r\t\v] |
\n | 换行符 |
\d | 数字 |
^x | 处于一行开头位置的某字符 |
x$ | 处于一行结尾位置的某字符 |
^x.* | 以x开头的一整行 |
.*x$ | 以x结束的一整行 |
^http.*$ | 匹配http开头的整行 |
^.*http.*$ | 匹配含http的整行 |
^\s*\/\/.* | 匹配以0或多个空格加//开头的整行 |
^\s+\/\/.* | 匹配以1或多个空格加//开头的整行 |
^[\t]* \n | 删除空行 |
Ref:runoob正则表达式 - 语法 |
匹配两个特殊字符中间的内容(ref)
A.*B |
匹配两个字符串A与B中间的字符串包含A与B |
A.*?(?=B) |
匹配两个字符串A与B中间的字符串包含A但是不包含B |
(?<=A).*?(?=B) |
匹配两个字符串A与B中间的字符串且不包含A与B |
(?<=要匹配的开始字符),不包含后面要匹配的字符写法(?=要匹配的结束字符)
(“.“表示任意字符,“?”表示匹配0个或多个)
二、通配符
通配符是一种特殊语句(可以认为是正则表达式的阉割版),主要有星号(*)和问号(?),用来模糊搜索文件
星号(*):代替零个、单个或多个字符
如正在查找以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。