正则表达式如何利用前面的子表达式,但不匹配前面捕获的内容?

恋喵大鲤鱼
博客专家认证
2017-02-23 05:40:33
比如logo haha的正则表达式:[a-z]{4}\s[a-z]{4},我不想重复写[a-z]{4},该怎么办?我这么做是想缩短正则表达式的长度。
...全文
1562 9 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
ipqtjmqj 2017-07-23
  • 打赏
  • 举报
回复
引用 8 楼 K346K346 的回复:
CSDN看来是没有人能够帮我了
你去segmentfault或stackoverflow问问吧
恋喵大鲤鱼 2017-07-23
  • 打赏
  • 举报
回复
CSDN看来是没有人能够帮我了
恋喵大鲤鱼 2017-02-24
  • 打赏
  • 举报
回复
引用 4 楼 K346K346 的回复:
引用 2 楼 ipqtjmqj 的回复:
方法是放在圆括号中,引用第1个圆括号中的内容用\1, 以此类推,
你这个方法导致的匹配结果是后面的子表达式的内容与前面子表达式捕获的内容相同,即匹配logo logo,而不是logo haha
引用 5 楼 ipqtjmqj 的回复:
引用 4 楼 K346K346 的回复:
[quote=引用 2 楼 ipqtjmqj 的回复:] 方法是放在圆括号中,引用第1个圆括号中的内容用\1, 以此类推,
你这个方法导致的匹配结果是后面的子表达式的内容与前面子表达式捕获的内容相同,即匹配logo logo,而不是logo haha
请看3楼[/quote]我在notepad++里测试您说的方法不能匹配logo haha。
恋喵大鲤鱼 2017-02-24
  • 打赏
  • 举报
回复
该问题的本质就是正则表达式支不支持分组不捕获内容,但可以使用该分组。anyone help me?
ipqtjmqj 2017-02-24
  • 打赏
  • 举报
回复
引用 4 楼 K346K346 的回复:
引用 2 楼 ipqtjmqj 的回复:
方法是放在圆括号中,引用第1个圆括号中的内容用\1, 以此类推,
你这个方法导致的匹配结果是后面的子表达式的内容与前面子表达式捕获的内容相同,即匹配logo logo,而不是logo haha
请看3楼
恋喵大鲤鱼 2017-02-24
  • 打赏
  • 举报
回复
引用 2 楼 ipqtjmqj 的回复:
方法是放在圆括号中,引用第1个圆括号中的内容用\1, 以此类推,
你这个方法导致的匹配结果是后面的子表达式的内容与前面子表达式捕获的内容相同,即匹配logo logo,而不是logo haha
ipqtjmqj 2017-02-24
  • 打赏
  • 举报
回复
引用 1 楼 ipqtjmqj 的回复:
可以存入"寄存器",然后引用
失误,这样存的是匹配的内容,而不是表达式, 不想重复写表达式,那就把要重复的表达式存入字务串变量中,然后引用这个变量,不知道你是什么语言,一般的脚本语言存个字符串应该都可以的
ipqtjmqj 2017-02-24
  • 打赏
  • 举报
回复
方法是放在圆括号中,引用第1个圆括号中的内容用\1, 以此类推,
ipqtjmqj 2017-02-24
  • 打赏
  • 举报
回复
可以存入"寄存器",然后引用

6,720

社区成员

发帖
与我相关
我的任务
社区描述
专题开发/技术/项目 Google技术社区
社区管理员
  • Google技术社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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