在过去的几天里,我一直在用正则表达式磨牙,遇到了一个我似乎无法解决的问题。
让我们假设以下3个字符串值
AKA NAME:FOO
FOO
AKA NAME:
我的目标是在AKA NAME之后捕获字符串的值:在命名匹配组中,如果AKA NAME:不存在,则捕获匹配组中的整个字符串。如果" AKA NAME:"如果没有后续值,则正则表达式应该失败。我开发了以下表达式
^(?:AKA NAME:)?\s*(?<VALUE>(.|\n|\r){1,225})$
这将正确捕捉&#34; FOO&#34;在上面的前两个字符串中,然而,在第三个字符串中它捕获&#34; AKA NAME:&#34;在比赛组中。我认为推杆?在包含&#34; AKA NAME的非捕获组之后:&#34;会导致引擎跳过这个值,但事实并非如此。
有人可以给我一些指导吗?
答案 0 :(得分:1)
答案 1 :(得分:0)
答案 2 :(得分:0)
答案 3 :(得分:0)
^(AKA NAME:)?(.*)$
\2
应包含您要查找的内容。