我正在尝试使用正则表达式来匹配同一个单词的不同版本。
例如:
如果我有jQuery,jquery,JQUERY,Jquery
- >他们应该匹配,总匹配数应该是4。
我试过了:
((jquery?)||(jQuery?)||(JQUERY?)||(Jquery))
但它给了我每个单词的数量。(即jquery:1,jQuery:1,JQUERY:1,JQuery:1)
我需要 jquery:4
我的整个代码:
var wordMatch = /((react?)|(angular?)|(javascript?)|(node?)|(mongo ?)|((jquery?)||(jQuery?)||(JQUERY?))|(backbone?))/gmi;
答案 0 :(得分:3)
首先,不区分大小写的匹配是i
标志的用途,并且您已经在使用它。 /jquery/i
会抓住jquery
和jQuery
,因此您在正则表达式中不需要这么多选项。
此外,您不清楚自己要对?
做什么,但似乎错了。 ?
使前面的字符或组可选,因此/jquery?/
会同时匹配jquery
和jquer
- 可能不是您想要的。
答案 1 :(得分:0)
我认为你正在寻找
/(string)/gi
这将返回同一组中“string”的所有匹配,而不是关心套管。