之前有人用这个正则表达式帮助我:
checkxls = checkxls.match(/'[^']*'(?:, '[^']*'){13};/g);
目的是捕捉像这样的精确模式
'', '', '', '', '', '', '', '', '', '', '', '', '', '';
现在我想做同样的事情,但只是用这样的模式
('.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?'),
我不确定如何修改正则表达式来捕获上面的表达式
checkxls = checkxls.match(/\('[^']*'(?:, '[^']*'){13}\),/g);
我试过像上面那样插入 \(
和 \)
但它似乎对我没有帮助...
我只想匹配这样的精确模式
('.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?'),
如果是这样的话
('sometext', '0', '', ''),
<< 我想被删除
最佳答案
只需将量词从 *
更改为 +
:
checkxls = checkxls.match(/'[^']+'(?:, '[^']+'){13};/g);
关于模式(polygenelubricants 的设计)
[…]
是一个 character class .像 [aeiou]
这样的东西匹配任何一个小写元音。 [^…]
是一个否定 字符类。 [^aeiou]
匹配除小写元音之外的任何字符之一。
*
重复说明符可用于匹配前面模式的“零次或多次”。
+
重复说明符可用于匹配前面模式的“一次或多次”。
(?:…)
是一个积极的前瞻;它可用于断言特定模式确实匹配,向前看(即向右)当前位置。
{n}
是有限重复说明符,表示“匹配前面的模式 n
次。”
末尾的/g
修饰符用于执行全局匹配(查找所有匹配而不是在第一个匹配后停止)。
引用资料
关于javascript - 正则表达式模式匹配小问题与模式匹配中的括号,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3436748/