我的字符串本质上与'foo = "bar"'
. 现在,当我测试这些字符串是否通过某个正则表达式时,我正在测试 'bar' 周围的引号["|']?
,使该区域中的完整 RegEx 类似于["|']?(\w+)["|']?
(为了便于阅读,我删除了不相关的表达式部分)。
这意味着几件事:
- 单词周围的引号可以是双引号、单引号或不存在。
- 不管它们是什么,它们都不是“链接”的。如果在左侧使用双引号而在右侧没有引号,这仍然会通过,等等。
我的目标是根据第一个报价匹配第二个报价。我非常想完全用 RegEx 来实现它,尽管我知道我正在接近它所能做的极限(就 JavaScript 实现而言)。我对前瞻/后视非常熟悉,但据我了解,这些只有在引述感人的情况下才有意义。我希望我理解错误。
PS:我只担心现代浏览器,所以 IE<10 支持不是问题。
PPS:我提到我想用 RegEx 来做这件事。请节省自己的精力,不要给出替代方案。“你不能这样做”就足够了。