我正在尝试使用以下正则表达式在javascript中执行整个单词搜索.
str = "Test String C.S (example)";
var regex_search = new RegExp("\\b"+search_string+"\\b","g");
if(str.match(regex_search)) != null)
match = true;
else
match = false;
Run Code Online (Sandbox Code Playgroud)
如果我搜索像'String'这样的普通字符串,上面的效果很好.但是如果我只搜索'S',它会返回CS作为匹配.此外,搜索示例返回一个匹配但在这种情况下我不想匹配,因为它有括号.我只想匹配整个单词.任何建议将不胜感激.
- 编辑 -
感谢@plalx澄清了这个例子.
使用捕获组?
.*?\b(S)
Run Code Online (Sandbox Code Playgroud)

我认为你的第二个\b也是破坏你的代码.
只需用S要查找的值替换()即可.
不确定你要说实话的确切内容.或者你想要找到什么.
编辑:
.*?(?:^|\s)(S[^\s$]*).*?
Run Code Online (Sandbox Code Playgroud)

你可以考虑.*?在正则表达式的开始和结束时把它放在那里以便彻底.
将S前面[^\s$]的值替换为要检查的值.此外,如果您想在值前面允许更多内容,您只需|"character"在第一个捕获组中添加一个额外的内容即可.
例如括号
.*?(?:^|\s|\()
Run Code Online (Sandbox Code Playgroud)