匹配的正则表达式,如果字符串的第一部分匹配字符串

时间:2018-04-14 22:00:08

标签: regex

想知道是否有一行正则表达式可以测试第一个匹配是否在字符串的其余部分。例如:我想知道进度何时完成。输出的最后3行是:

Transferring 299 of 301 records.
Transferring 300 of 301 records.
Transferring 301 of 301 records.

金额各不相同。

有没有办法测试,所以最后一行与正则表达式匹配?

2 个答案:

答案 0 :(得分:0)

这应该可以解决问题

Transferring( [0-9]*) of\1+ records.

\ 1匹配与第一个捕获组最近匹配的文本相同的文本。 见这里:https://regex101.com/r/7EEZGa/1

答案 1 :(得分:0)

您可以使用Transferring ([0-9]+) of \1 records\.

说明:

  • Transferring - 按字面意思匹配。
  • ([0-9]+) - 捕获一个或多个数字。
  • of - 按字面意思匹配。
  • \1 - 匹配第一个捕获组中捕获的数字。
  • records\. - 字面匹配(点是转义因为它是通配符)。

可以根据您的输入进行测试:https://regex101.com/r/jkYZh3/1