更新的问题
假设字符串 "?foo=bar&nonfoo=bar&foo=bar"
,在这种情况下我需要捕获:
- foo=bar
- foo=foo
我用 Perl
做的, see here .
但是Javascript不支持lookbehind,那么表达式(?<=)
(正向回顾)无法识别。
我也试试(?:[?&])((foo\=[^&#]*)|(foo(?=[&#]))|(foo(?!.)))
(非捕获组语法),而是执行方法 match
返回:
- ?foo=bar
- &foo=foo
最佳答案
我不完全确定你的结果应该是什么......但也许这个可以解决你的问题:
(?!foo\?)(foo(\=[^\?^&]+)?)+
这将匹配:
- foo=bar
- 富
- foo 或 foofoo
关于javascript - 如何在Javascript中实现正则表达式的正 "lookbehind",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37225095/