如何修改正则表达式以匹配所有Hello[n]格式的字符串实例?
修改正则表达式匹配Hello[n]格式字符串
要匹配所有类似Hello[n](n为数字)格式的字符串,你需要调整正则表达式,使其完整匹配"hello"(不区分大小写)加上后续的[数字]部分:
修正后的代码
var str = 'Hello[0] hello[2] hell Welcome to JavaScript.'; var regex = /hello\[\d+\]/gi; var result = str.match(regex);
输出结果
[ 'Hello[0]', 'hello[2]' ]
正则表达式解释
hello:匹配基础文本,结合i标志实现不区分大小写匹配(兼容Hello/hello等写法)\[:转义左方括号,因为方括号在正则中是特殊字符,必须转义才能匹配字面量[\d+:匹配一个或多个数字(对应格式中的n)\]:转义右方括号,匹配字面量]g:全局匹配标志,找出所有符合格式的字符串实例i:不区分大小写标志,匹配不同大小写的"hello"开头
原正则/hello+/gi的问题在于,hello+会匹配"hello"后面跟着多个o的情况(比如helloooo),而没有匹配后续的[n]部分,所以只能提取出单独的"Hello"和"hello"。
内容的提问来源于stack exchange,提问作者Nabeel
相关产品推荐
相关产品推荐

