如何简化正则表达式代码的书写

Left_you 2013-09-06 02:57:08
比如我要匹配一个或多个IP4地址:
192.168.0.1,192.168.0.1-10,192.168.0.11,192.168.0.12

正则我会这样写的:
192\.168\.0\.\d+(-\d+)?(,192\.168\.0\.\d+(-\d+)?)*

前后有一大段重复的正则代码,这个,后面应该是可以复用前面的代码的吧?
可是大牛牛们,怎么复用啊?
...全文
121 3 打赏 收藏 转发到动态 举报
写回复
用AI写文章
3 条回复
切换为时间正序
请发表友善的回复…
发表回复
fzfei2 2013-09-06
  • 打赏
  • 举报
回复
引用 2 楼 Left_you 的回复:
[quote=引用 1 楼 fzfei2 的回复:] ((^|,)192\.168\.0\.\d+(-\d+)?)+
亲,其实我更想问的是:正则里面怎么复用第一个分组里面的代码。我试过“\1”但这使用了第一个分组捕获的字符串内容,也不是那种效果。[/quote] \1 是要和分组1的值一样,复用分组 (...)+ 用正则判断IP 如果老虑值0~255挺麻烦的,如果不考虑 ((^|,)\d{3}(\.\d{3}){3})+
Left_you 2013-09-06
  • 打赏
  • 举报
回复
引用 1 楼 fzfei2 的回复:
((^|,)192\.168\.0\.\d+(-\d+)?)+
亲,其实我更想问的是:正则里面怎么复用第一个分组里面的代码。我试过“\1”但这使用了第一个分组捕获的字符串内容,也不是那种效果。
fzfei2 2013-09-06
  • 打赏
  • 举报
回复
((^|,)192\.168\.0\.\d+(-\d+)?)+

10,608

社区成员

发帖
与我相关
我的任务
社区描述
Web 开发 其他
社区管理员
  • 其他
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧