2016-11-03 17:36发布
有字符串abc"xxx","yyy"def,用javascript正则如何获取xxx和yyy? 不能带有引号"。
abc"xxx","yyy"def
"
我自己写了一个:
const reg = /"(.*?)"/; reg.exec (abc"xxx","yyy"def);//只能获取第一个xxx
如果去掉正则表达式中的?,则获取xxx","yyy
?
请问这个正则表达式该如何写?
因为js不支持先行断言(?<="),所以不好一次性获取成功。那就写个方法,解决问题。不会获取中间的逗号和两边的引号:
(?<=")
来个文档https://developer.mozilla.org...使用插入语
一楼的答案很棒,不过我有个小建议,就是别用两次正则,毕竟正则相对于原生函数还是比较耗资源的,
把你写的加个g就行了,没有g的情况下每次搜索都会从头开始,有g的时候正则对象会记录lastIndex属性,从这里往后匹配。
g
lastIndex
正则表达式标志g 全局搜索。i 不区分大小写搜索。m 多行搜索。y 执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。
最多设置5个标签!
付费偷看金额在0.1-10元之间
因为js不支持先行断言
(?<=")
,所以不好一次性获取成功。那就写个方法,解决问题。不会获取中间的逗号和两边的引号:来个文档
https://developer.mozilla.org...使用插入语
一楼的答案很棒,不过我有个小建议,就是别用两次正则,毕竟正则相对于原生函数还是比较耗资源的,
把你写的加个
g
就行了,没有g
的情况下每次搜索都会从头开始,有g
的时候正则对象会记录lastIndex
属性,从这里往后匹配。正则表达式标志
g 全局搜索。
i 不区分大小写搜索。
m 多行搜索。
y 执行“粘性”搜索,匹配从目标字符串的当前位置开始,可以使用y标志。
一周热门 更多>