我的页面上有以下文字:
pageTracker._addItem("2040504","JACQXSPINKASS-TX4-8","Jacq Socks","","9.00000","1.0");
pageTracker._addItem("2040504","FTWCLSNOCOLOURONE SIZE","Footwear Cleaner","","8.00000","1.0");
我只想使用 javascripts match()
函数提取每一行括号内的参数。我有以下正则表达式,但不太正确:
/\b_addItem[^);]+/g
这也匹配 _addItem(
部分。我如何调整它以仅获取括号内的内容?
理想情况下,它应该匹配任何以 pageTracker._addItem("
开头的字符串,但不包括匹配中直到右括号的那部分。
我将使用 javascript 进行匹配,如果我是对的,我认为不支持回头看
最佳答案
使用look behind 断言但不捕获前面的文本:
/(?<=pageTracker\._addItem\()[^);]+/g
请注意,我将 (
添加到后面的内容中,以不捕获它。
现在你已经添加了 JavaScript 标签,其中不支持向后看,你必须在一个组中捕获你的目标:
/pageTracker\._addItem\(([^);]+)/g
您的目标将在第 1 组。
关于javascript - 用于匹配函数参数的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39663367/