[英]JS Regex case sensitive issue
我有这个反应应用程序,其中包含项目并具有这些项目的搜索栏。 我正在尝试这样做,当您输入搜索时,它会显示具有匹配模式的项目,但搜索词会在项目标题中突出显示。
例如:您搜索:砂锅 结果将显示:“西兰花奶酪砂锅”
我的问题是我无法让我的函数返回标题不区分大小写...我的函数:
const formatTitle = (title) => {
const searchTerm = 'casserole';
const escapeRE = new RegExp(/([.*+?^=!:$(){}|[\]\\])/g)
const safeRE = (string) => {
return string.replace(escapeRE, '$1');
}
return ( <span dangerouslySetInnerHTML={{ __html : title.replace(safeRE(searchTerm), `<strong>${searchTerm}</strong>`) }} /> )
}
它确实返回了一个匹配的项目,但无论出于何种原因,它都没有在标题中的搜索词匹配周围放置强标签。 如果您在搜索中匹配案例,Casserole,它将在它周围放置强大的标签......我很困惑。 我对正则表达式不是很精通。
我从这个https://github.com/facebook/react/issues/3386拼凑了我的功能
谢谢!
看看这篇文章,它讨论了使用 /i 标志不区分大小写的问题:
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.