Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
这应该很简单,但我是个菜鸟,我一生都无法弄清楚。我正在尝试使用正则表达式来匹配特殊打开/关闭标签内的文本:[p2][/p2]
所以在本文中:
apple [p2]banana[/p2] grape [p2]lemon[/p2]
它应该匹配“香蕉”和“柠檬”。到目前为止我研究过的正则表达式是:
(?<=\[p2\]).+(?=\[\/p2\])
但这也太贪心了。它匹配以香蕉中的“b”开头并以柠檬中的“n”结尾,匹配香蕉[/p2]葡萄[p2]柠檬。我该如何搭配香蕉和柠檬?
这应该这样做:
(?<=\[p2\]).+?(?=\[\/p2\])
我添加了问号以使量词不贪婪。
除了使用正则表达式修饰符,您可以使用标准 perl 样式匹配修饰符并添加 ? 在 + 或 * 之后告诉该特定部分是非贪婪的。上面提到过,但特异性会有所帮助。