正则表达式高级用法

正则表达式熟练掌握后可以大大提供工作效率,但是平时大部分使用的都是简单的规则。本文就简单介绍一下高级规则,在一些特殊场景下非常好用

反向引用

使用捕获组的时候,可以在表达式后面部分使用\1\2\{数字}引用之前匹配到的捕获组

找到连续出现的单词

使用\1作为反向引用

\b(\w+)\b\s*\1\b
两个单词顺序切换
\b(\w+)\b\s+(\w+) -> $2 $1
\b(?<first>\w+)\b\s+(?<second>\w+) -> $<second> $<first>

零宽断言

从地址中找到深圳市下面的区
  • 加入文本如下
鹤岗市南山区
广州市花都区
深圳市南山区
深圳市宝安区
  • 表达式如下(其中中文不能使用\w,一般使用[\u4e00-\u9fa5]
(?<=深圳市)[\u4e00-\u9fa5]+

南山区
宝安区
找到拥有南山区的市
[\u4e00-\u9fa5]+(?=南山区)

鹤岗市
深圳市

参考

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容