我在查找表搜索结果的正则表达式解决方案时遇到问题。我尝试了下面的正则表达式,但它没有按预期工作。
第一
const regex = new RegExp(
searchTerm
?.toString()
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
.replace(/\s+/g, "|") + ",?",
"gi"
);
第二
const regex = new RegExp(
searchTerm
?.toString()
.replace(/[.*+?^${}()|[\]\\]/g, "\\$&")
.replace(/\s+/g, "|") + "|,",
"gi"
);
第三
const regex = new RegExp(searchTerm.replace(/,/g, "\\s*,\\s*"), "gi");
我可以突出显示准确的搜索结果,但我也想突出显示带有逗号的字符串。
有什么办法可以解决这个问题吗?
1条答案
按热度按时间c0vxltue1#
您可以在搜索词的每个字符后添加预定义长度(示例中为0-1)的正则字符类,如标点符号和符号。
这将允许更大范围的可能结果,并返回匹配项以突出显示它们。