繁体   English   中英

如何匹配 JavaScript 中的整个单词?

[英]How can I match a whole word in JavaScript?

我正在尝试通过文本框搜索一个完整的单词。 假设我搜索“我”,我应该在文本中找到所有出现的“我”这个词,而不是“memmm”。

我正在使用 JavaScript 的search('my regex expression')来执行当前搜索(没有成功)。

在多次提议使用\b开关(似乎不起作用)之后,我发布了对我的问题的修订解释:

出于某种原因,这似乎不起作用。 假设以下 JavaScript 搜索文本:

var lookup = '\n\n\n\n\n\n2    PC Games        \n\n\n\n';
lookup  = lookup.trim() ;
alert(lookup );

var tttt = 'tttt';
alert((/\b(lookup)\b/g).test(2));

动线是必不可少的

要使用动态正则表达式,请参阅我更新的代码:

new RegExp("\\b" + lookup + "\\b").test(textbox.value)

你的具体例子是倒退的:

alert((/\b(2)\b/g).test(lookup));

正则表达式

正则表达式对象

使用单词边界断言\b

/\bme\b/

您可以使用以下代码:

var stringTosearch ="test ,string, test"; //true
var stringTosearch ="test string test"; //true
var stringTosearch ="test stringtest"; //false
var stringTosearch ="teststring test"; //false

if (new RegExp("\\b"+"string"+"\\b").test(stringTosearch)) {
  console.log('string found');
  return true;
} else {
  return false;
}
<script type='text/javascript'>
var lookup = '\n\n\n\n\n\n2    PC Games        \n\n\n\n';
lookup  = lookup.trim() ;
alert(lookup );
                var tttt = 'tttt';
                alert((/\b(lookup)\b/g).test(2));

</script>

很难说出你想在这里做什么。 tttt变量应该做什么?

您要搜索哪个字符串? 您是否尝试在字符串lookup中查找2 然后你会想要:

/\b2\b/.test(lookup)

以下从您的正则表达式构造一个正则表达式,该正则表达式包含一个单词边界,后跟字符串"lookup" (不是变量lookup中包含的值),后跟一个单词边界。 然后它尝试将此正则表达式与字符串"2"进行匹配,该字符串是通过将数字2转换为字符串获得的:

(/\b(lookup)\b/g).test(2)

例如,以下返回true

(/\b(lookup)\b/g).test("something to lookup somewhere")

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM