3

我需要构建 RegEx 表达式来查找匹配的字符串:

<anytext>N/N

其中 N 是斜线两侧的相同数字,无论 N 究竟具有哪个值(它可以是 1、2 或 3 位数字)。

我的意思是它应该匹配例如:

ABC 4/4
ABCDEF 101/101
ABCDEF 22/22

但不应该匹配:

ABC 1/4
ABCDEF 101/50
ABCDEF 21/22

可以使用正则表达式吗?我该怎么做?我已经尝试了一段时间,但我无法做到这一点。

编辑: 我忘了写:我正在使用 Analytics Edge,据说它使用正则表达式语言 - .NET Framework 4。但是当我尝试在 RegEx 字段中输入一些内容时,我得到的信息应该遵循 RE2 语法。

4

1 回答 1

0

你可以试试这个:

^[\w]+\s([\d]+)\/\1$

这表示:

^[\w]+匹配字符串开头的任何单词的 1 个或多个

\s后跟一个空格

([\d]+)后跟一个或多个任意数字

\/后跟一个正斜杠

\1其次是第一个捕获组(括号中的第一个集合,这是一个反向引用)

$紧跟在字符串的结尾

编辑:虽然这在大多数正则表达式引擎中都是有效的,但不幸的是,RE2 似乎不支持反向引用。此正则表达式在 RE2 中不起作用。

于 2016-03-18T15:31:43.143 回答