如下文案,如何提取中间的文案呢
eq:
我们的%%aaa%%不一致,哈哈哈
提取后是aaa
使用增则的捕获组即可,说白了就是小括号
/%%([^%]+)%%/
var t=/%%([^%]+)%%/;
t.exec("我们的%%a aa%%不一致, 哈哈%%fsafsdf%%哈");
返回如下数据结构
{
0: "%%a aa%%",
1: "a aa",
index: 3,
input: "我们的%%a aa%%不一致, 哈哈%%fsafsdf%%哈",
length: 2
}
第一个是匹配项,第二个就是你要的捕获项。
var str = '我们的%%aaa%%不一致,哈哈哈';
var arr = str.match(/%%(.*)%%/);
console.log(arr[1]); // 'aaa'
10 回答11.2k 阅读
5 回答4.8k 阅读✓ 已解决
4 回答3.1k 阅读✓ 已解决
2 回答2.7k 阅读✓ 已解决
3 回答2.3k 阅读✓ 已解决
3 回答2.1k 阅读✓ 已解决
2 回答2.6k 阅读✓ 已解决
如果只有一个需要匹配的话
那么
(/%%([\s\S]+)%%/g).exec("我们的%%aa你好a%%不一致,哈哈哈")
就够了。如果有多次需要匹配