首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Java Regex负前瞻错误匹配

问Java Regex负前瞻错误匹配
EN

Stack Overflow用户
提问于 2014-05-17 19:52:18
回答 1查看 88关注 0票数 1

我正在寻找字符串,其中两个第一个数字(按任何顺序)出现在我尝试的空格character.First后面的数字中。

代码语言:javascript
复制
(\d)(\d)\s\d*(\1|\2)\d*[\1\2&&[^\3]][\d]*

但是,我似乎不能在反向引用中使用方括号,我尝试使用展望特性来代替

代码语言:javascript
复制
(\d)(\d)\s\d*(\1|\2)\d*(?!\3(\1|\2))\d*

但我不是right.The,我的想法是“查找两个数字,后面跟着一个空格,后面是零或多个数字,然后是任何一个捕获的数字,后面是零或多个数字,然后是一个捕获的数字,这不是我之前得到的数字,后面是零或多个数字”.21 20329是一个match.Why?How,我需要查找我需要的字符串吗?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2014-05-17 22:49:04

这更简单。

代码语言:javascript
复制
^(\d)(\d) (?=.*?\1)(?=.*?\2)\d+

请参阅演示

  1. 第一个查找确保组1捕获的数字稍后出现在字符串的某个位置。
  2. 第二个前瞻性确保组2捕获的数字稍后出现在字符串的某个位置。
  3. 如果满足这些条件,\d+就会在空格之后吃掉所有的数字。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/23715490

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档