[英]How can I check if string has particular word in javascript
现在,我知道我可以计算一个字符串是否包含特定的子字符串了。
if(str.indexOf("substr") > -1){
}
我的子字符串“ GRE”要与我的自动填充列表匹配:
GRE:数学
GRE-数学
但我不想匹配:
CONGRES
我特别需要匹配:
NON-WORD-CHAR
GRE和NON-WORD-CHAR
GRE
就我而言,完美的正则表达式应该是什么?
医师,如果我了解您的规格,此简单的正则表达式将为您工作:
\W?GRE(?!\w)(?:\W\w+)?
但是我更喜欢[:-]?GRE(?!\\w)(?:[:-]\\w+)?
如果您能够指定愿意允许的非单词字符(请参见下面的说明)。
这将匹配
GRE
GRE:Math
GRE-Math
但不是CONGRES
不过,理想情况下,我想将\\W
(非单词字符)替换为允许的字符列表,例如[-:]
为什么? 因为\\W
会匹配您不需要的非单词字符,例如空格和回车符。 因此,该列表中的内容由您决定。
这是如何运作的?
\\W?
(可选)匹配您指定的一个非单词字符。 然后我们匹配文字GRE
。 然后,超前(?!\\w)
断言下一个字符不能是单词字符。 然后,可选地,我们匹配一个非单词字符(根据您的规范),后跟任意数量的单词字符。
根据出现此位置的位置,可以添加边界。
您可以使用正则表达式: /\\bGRE\\b/g
if(/\bGRE\b/g.test("string")){
// the string has GRE
}
else{
// it doesn't have GRE
}
\\b
表示单词边界
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.