【发布时间】:2018-07-23 22:18:49
【问题描述】:
我有以下类型的字符串,
abc - xyz
abc - pqr - xyz
abc - - xyz
abc - pqr uvw - xyz
我想从第一个字符串中检索文本xyz,从第二个字符串中检索pqr,从第三个字符串和pqr uvw 中检索“(空)”。第二个连字符是可选的。 abc 是静态字符串,它必须在那里。我试过遵循正则表达式,
/^(?:abc) - (.*)[^ -]?/
但它给了我以下输出,
xyz
pqr - xyz
- xyz
pqr uvw - xyz
我不需要第二个字符串的最后一部分。我正在使用 perl 进行脚本编写。可以通过正则表达式完成吗?
【问题讨论】:
-
@S.Kablar 请尽量不要在 cmets 等中使用外部链接回答。一个正确的答案,为什么不做一些解释,会好很多..
-
完美!有用。 @S.Kablar 如果您可以添加答案和一些解释,我可以将其标记为答案。
-
abc是动态的还是静态的?如果是静态的,就用/^abc\h*-\h*(\S+)/