我有一个以下格式的字符串。
“ad60 ad60-12 ad60 12-ad60”
现在我想在只写“ad60”的地方找到匹配。
我从
开始/ \ bad60 \ B / I
但正则表达式发现' - '不是字符串的一部分。返回4场比赛。 我尝试了很多东西,但他们都返回4场比赛或者什么也不返回。
任何形式的帮助都将受到赞赏。
答案 0 :(得分:2)
您可以使用:
var s = "ad60 ad60-12 ad60 12-ad60";
var r = s.replace(/(^|\s)ad60(?=\s|$)/g, "$1@@");
//=> @@ ad60-12 @@ 12-ad60
答案 1 :(得分:0)
这应该找到从字母
开始的任何单词/[a-z][a-z\d]+/i
<强> ADDED 强>
如果你想找到包含ad60字符串的任何单词,请试试这个
/[a-z\d\-\_]*ad60[a-z\d\-\_]*/i
但是用空格分隔的单词不会进入结果
答案 2 :(得分:0)
"ad60 ad60-12 ad60 12-ad60".match(/(^ad60\s+)|(\s+ad60$)|(\s+ad60\s+)|(^ad60$)/ig);
将导致[&#34; ad60&#34;,&#34; ad60&#34;] 然后你可以修剪匹配元素中的空白区域。