javascript - js正则表达式匹配字符串文件内容
本文介绍了javascript - js正则表达式匹配字符串文件内容的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
问 题
今天写正则表达式的时候遇到了一个问题, 我想提取一个文件里面的相同部分的内容:
/*<label>
{
"你好": {
"a": "你好a",
"b": "你好b"
}
}
<label>*/
$t('你好', {a: '你好a', b: '你好b'})
/*<label>
{
"测试": {
"a": "测试a",
"b": "测试b"
}
}
<label>*/
我正则表达式是:
let pattern = /<label>\s*(\{[\s\S]+\})\s*<label>/ig
let res = str.match(pattern)
但是这样它会匹配从第一个被注释掉的<label>
开始到第二个被注释掉的<label>
结束的位置。
那么我应该如何将2个注释符号里面<label>
标签的内容分别提取出来呢?
解决方案
非贪婪匹配
/<label>\s*(\{[\s\S]+?\})\s*<label>/ig
这篇关于javascript - js正则表达式匹配字符串文件内容的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文