正则表达式模式匹配模式匹配中括号的小问题

时间:2010-08-09 01:02:36

标签: javascript regex asp-classic

有人在这个正则表达式中帮助了我:

checkxls = checkxls.match(/'[^']*'(?:, '[^']*'){13};/g);

目的是捕捉这样的确切模式

'', '', '', '', '', '', '', '', '', '', '', '', '', '';

现在我想做同样的事情,但只是用这样的模式

('.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?'),

我不知道如何修改正则表达式以捕获上面的表达式

checkxls = checkxls.match(/\('[^']*'(?:, '[^']*'){13}\),/g);

我尝试过如上插入\(\),但它似乎对我没有帮助......

我想只匹配像这样的确切模式

('.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?', '.*?'),

如果是这样的话

('sometext', '0', '', ''),<<我想要删除

1 个答案:

答案 0 :(得分:1)

只需将量词从*更改为+

checkxls = checkxls.match(/'[^']+'(?:, '[^']+'){13};/g);

关于模式polygenelubricants的coutersy)

[…]character class。像[aeiou]这样的东西匹配任何一个小写元音。 [^…]否定的字符类。 [^aeiou]除了小写元音之外的任何内容匹配。

*重复说明符可用于匹配前一个模式的“零次或多次”。

+重复说明符可用于匹配前一个模式的“一次或多次”。

(?:…)是一个积极的向前看;它可用于断言某个模式 DOES 匹配,向前看(即向右)当前位置。

{n}是有限重复说明符,表示“匹配前面的模式n次。”

末尾的/g修饰符用于执行全局匹配(查找所有匹配项,而不是在第一次匹配后停止)。

参考