我正在学习 JavaScript 并尝试为类似短语开发正则表达式模式。这是我目前拥有的:
var regEx = /(?:[^"']|^)(show me a picture|show me a photo|show me a photograph)(?!["'])/i;
我一直在尝试理解交替,但这个正则表达式的结果是它只会匹配 show me a picture
和 show me a photo
但不会匹配 给我看一张照片
。我的理解是,正则表达式已经找到了给我看一张照片
,所以它就停在那里了。
我找不到也能解释给我看一张照片
短语的正则表达式。
也许这不是最有效的方法,这就是我遇到问题的原因。
请您参考如下方法:
更改您的正则表达式以捕获整个短语(单词),如下所示:
var regEx = /(?:[^"']|^)(\bshow me a picture\b|\bshow me a photo\b|\bshow me a photograph\b)(?!["'])/ig;