【发布时间】:2016-01-04 10:09:39
【问题描述】:
我有一个字符串,想用正则表达式匹配两个第一个分隔符之间的子字符串。
例如,带有分隔符" 的字符串foo"text"bar anotherfoo"anothertext"anotherbar 应该产生text。
我找到了以下可能的解决方案:
- 非贪婪匹配
"(.*?)" - 与 Lookahead 和 Lookbehind 断言的非贪婪匹配
(?<=")(.*?)(?=") - 否定字符类
"([^"]*)"
哪种方法最有效?还是我错过了这些解决方案表现不同的情况(假设设置了新行修饰符以使点与新行匹配)?
【问题讨论】:
-
JS、PHP、.NET 或 ..?
-
@choz 我在测试这个时正在使用 python。
-
第二个在 JS 上不起作用。如果你比较它们,最后一个当然比第一个更好,因为它们是两种不同的方法。