我需要检查一个单词是否以忽略大小写差异的特定子字符串开头。我一直在使用以下正则表达式搜索模式进行此检查,但是当字符串中的大小写不同时,这无济于事。
我区分大小写的方式:
var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
原文由 Rajat Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议
我需要检查一个单词是否以忽略大小写差异的特定子字符串开头。我一直在使用以下正则表达式搜索模式进行此检查,但是当字符串中的大小写不同时,这无济于事。
我区分大小写的方式:
var searchPattern = new RegExp('^' + query);
if (searchPattern.test(stringToCheck)) {}
原文由 Rajat Gupta 发布,翻译遵循 CC BY-SA 4.0 许可协议
您根本不需要正则表达式,只需比较字符串:
if (stringToCheck.substr(0, query.length).toUpperCase() == query.toUpperCase())
演示:http: //jsfiddle.net/Guffa/AMD7V/
这也处理了您需要转义字符以使 RegExp 解决方案工作的情况,例如 query="4*5?"
否则它总是匹配所有内容。
原文由 Guffa 发布,翻译遵循 CC BY-SA 3.0 许可协议
13 回答13k 阅读
7 回答2.2k 阅读
3 回答1.3k 阅读✓ 已解决
6 回答1.3k 阅读✓ 已解决
2 回答1.4k 阅读✓ 已解决
3 回答1.3k 阅读✓ 已解决
6 回答1.1k 阅读
将
i
修饰符作为第二个参数传递:查看 文档 以获取更多信息。