我的字符串与'foo = "bar"'
类似。现在,当我测试这些字符串是否通过某个正则表达式时,我正在使用["|']?
测试'bar'周围的引号,使得该区域中的完整RegEx与["|']?(\w+)["|']?
({1}}一致我正在剥离不相关的表达部分以便于阅读。)
这意味着几件事:
我的目标是根据第一个匹配第二个引号。我非常希望用RegEx完全实现它,尽管我知道我正在接近它能做的极限(就JavaScript实现而言)。我对前瞻/后方非常熟悉,但据我所知,这些仅在报价触及时才有意义。我希望我不正确地理解它们。
P.S。:我只担心现代浏览器,因此IE< 10支持不是问题。
P.P.S:我提到我想用RegEx做这件事。请省力,不要另类。 “你不能这样做”就足够了。答案 0 :(得分:1)
你可以写:
/(["'])\w+\1/
\1
只匹配与第一个capture-group((["'])
)捕获的字符串相同的字符串。
请注意,我从character class |
中删除了管道字符["']
,因为它似乎是一个错误:管道字符在字符类中没有任何特殊含义。 ["|']
只有在您希望能够匹配时才会正确|bar|
。