正则表达式:匹配字符或新的生产线之间的一切
问题描述:
我想拿出一个正则表达式将确定ABC = 123456实例| 123456从下面的代码片段:正则表达式:匹配字符或新的生产线之间的一切
xyz=abcdef|abcdef||abc=123456|123456||cat=dog|dog||foo=bar|bar||
xyz=abcdef|abcdef||abc=123456|123456
xyz=abcdef|abcdef||abc=123456|123456||
abc=123456|123456||xyz=abcdef|abcdef||
这里的要求是:匹配字符串可以有一个尾随双管或它不能拥有它。
我目前使用这样的:
/abc=(.*?)+((?=\|\|)|(?=\r|\n))/
但这似乎与比赛的结束OR条件打破。
提前感谢任何帮助。
预览链接: http://regexr.com/3be2t
我用/ ABC = \ d {6} \ | \ d {6} /对于一个非常简单的匹配。你正在使用lookarounds,任何特定的原因? – ydobonebi
我想我需要了解你准确匹配的内容,你想要避免匹配的内容以及匹配的精确上下文。鉴于我读过的这个技巧,但显然我错过了一些东西,如果你觉得有必要使用环视..... – ydobonebi
你可能想再看看'(。*?)+'部分。结合一个'*'和一个'+'似乎是多余的,并且可能比你原先预期的要多。 – Vache