我正在寻找字符串,其中两个第一个数字(以任意顺序)出现在空格字符后面的数字中。首先我试过
(\d)(\d)\s\d*(\1|\2)\d*[\1\2&&[^\3]][\d]*
但似乎我不能使用带有反向引用的括号。我尝试使用前瞻功能而不是
(\d)(\d)\s\d*(\1|\2)\d*(?!\3(\1|\2))\d*
但我不对。想法是“寻找两个数字,然后是一个空格,后跟零个或多个数字,后跟任一个捕获的数字,后跟零个或多个数字,然后是捕获的数字不是我之前得到的数字,后跟零个或多个数字“.21 20329是匹配。为什么?我如何寻找我需要的字符串?
答案 0 :(得分:1)
这更简单。
^(\d)(\d) (?=.*?\1)(?=.*?\2)\d+
请参阅demo
\d+
会占用空格后的所有数字。