我有一个像这样的字符串:
[Semantical Error] line 0, col 46 near 'indications IS': Error: Invalid PathExpression. StateFieldPathExpression or SingleValuedAssociationField expected.
我的正则表达式目前位于group[129][1][person][0][name]
,其匹配\[\d+\]
,[129]
和[1]
。
但是,我希望它只匹配第三次出现[0]
。我找不到任何关于此事的内容。我该怎么做?
答案 0 :(得分:0)
您可以简单地在正则表达式中包含所有三个:
\d+\D+\d+\D+(\d+)
捕获组将捕获第三组数字。请注意,\D
匹配任何非数字的内容。
你也可以通过重复一组表达来避免重复:
(?:\d+\D+){2}(\d+)
如果您想替换第三次出现,请使用以下内容:
s/(\d+\D+\d+\D+)\d+/${1}FOO/;
这将使用单词" FOO"替换第三组数字。在这里使用Perl语法,因为您还没有指定语言。