正则表达式环视
正则表达式环视
1.环视又叫预搜索和零宽断言
2.环视又划分为
表达式 | 说明 |
(?<=Expression) | 逆序肯定环视,表示所在位置左侧能够匹配Expression |
(?<!Expression) | 逆序否定环视,表示所在位置左侧不能匹配Expression |
(?=Expression) | 顺序肯定环视,表示所在位置右侧能够匹配Expression |
(?!Expression) | 顺序否定环视,表示所在位置右侧不能匹配Expression |
3环视只占用逻辑位置 不占用物理位置
如:匹配后缀名字为txt的文件
字符:file.txt、file2.exe 正则 \w(?=.exe) 匹配字符串file2
4.环视的用法
(?=exp)肯定顺序环视的2种用法
1)查找电话号码是132开头的电话
字符:我的工号是我的132开头的电话是13244444444我的158开头的电话是15822222222
正则(?=\d{11})132\d{8} 匹配13244444444
详解:先匹配到132 和158个号码 然后根据左边的表达式再对这个2号码进行匹配
2)查找后缀名字为txt的文件
字符file1.txt file2.exe
正则 \w+(?=.exe) 匹配字符串file2
(?<=exp)肯定逆序环视的用法
1) 取得指定文件的文件后缀
字符file1.text file2.exe fiel3.jpg
正则(?<=[/\w]+\.)\w+匹配字符text exe jpg