如何检查字符串在javascript中是否有特定单词
How can I check if string has particular word in javascript
现在,我知道我可以计算字符串是否包含特定的子字符串。使用此:
if(str.indexOf("substr") > -1){
}
有了子字符串'GRE',我想匹配我的自动完成列表:
GRE:数学
GRE数学
但我不想匹配:
国会
并且我特别需要匹配:
NON-WORD-CHAR
GRE NON-WORD-CHAR
以及GRE
在我的情况下,什么应该是完美的正则表达式?
也许您想使用'b
单词边界:
('bGRE'b)
以下是的解释
演示:http://regex101.com/r/hJ3vL6
MD,如果我理解您的规范,这个简单的正则表达式应该适用于您:
'W?GRE(?!'w)(?:'W'w+)?
但如果你能指定你愿意允许的非单词字符,我更喜欢[:-]?GRE(?!'w)(?:[:-]'w+)?
这样的字符(见下面的解释)。
这将匹配
GRE
GRE:Math
GRE-Math
而不是CONGRES
不过,理想情况下,我想用允许的字符列表替换'W
(非单词字符),例如[-:]
Why?因为'W
会匹配您不想要的非单词字符,例如空格和回车。所以这份清单上的内容由你自己决定。
这是怎么回事?
'W?
可以根据您的指定任意匹配一个非单词字符。然后我们匹配文字GRE
。则先行CCD_ 13断言下一个字符不能是单词字符。然后,我们可以选择匹配一个非单词字符(根据您的规范),后跟任意数量的单词字符。
根据您看到的显示位置,您可以添加边界。
您可以使用正则表达式:/'bGRE'b/g
if(/'bGRE'b/g.test("string")){
// the string has GRE
}
else{
// it doesn't have GRE
}
'b
表示单词边界
相关文章:
- 如何让程序检查所选单词中是否有按键
- jQuery 验证输入文本是否仅接受数字、单词或日期
- 检查字符串是否等于一个单词和一个数字
- Regex:使用javascript测试最后一个单词后的url中是否存在最后一个斜杠
- 是否可以通过Javascript迭代stdin中的每个单词
- Jquery/Javascript检查我的单词是否有效
- Javascript Regex检查字符串是否包含不属于的单词
- Jquery $this属性选择器是否包含单词
- 检查/查找 url 中是否有数组的任何单词
- 正则表达式,用于测试字符串是否包含超过 X 个单词
- 检查单词是否具有相同的字母 - 错过一项测试
- 如何检查我的字符串是否包含某些单词
- 单词边界是否适用于符号字符
- 使用javascript来检测单词是否不可用
- 如何测试字符串是否按顺序包含多个定义的单词
- 检查一个单词是否与数组中的另一个单词匹配
- JavaScript正则表达式测试字符串是否包含特定单词(带变量)
- 无论大小写,请检查文本框中是否有单词
- 如何检查给定单词是否包含在字符串中
- 通过JavaScript中的dictionary对象检查单词的有效性-是否有更好的方法来引用/构建词典