我正在用正则表达式构建一个Mysql插件。
这是插件到目前为止的样子:
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#), (#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#), (#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#);
在上一个问题中,有人帮我写了这个正则表达式来删除比上面例子小的值
var stripped30 = htstring30.replace(/\((?:[^#\n]*?#[^#\n]*?#[,\s]?){0,8}\)[,;]\s*/ig, '');
这将删除下面的例外并删除它,只留下我想要的9个表。
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#),
现在我基本上想要做同样的事情,但这一次删除了大于9的所有异常 - 任何人都可以帮我做这件事。
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#),
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#, #text10#),
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#, #text10#, #text11#);
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#),
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#),
(#text1#,#text2#,#text3#,#text4#,#text5#,#text6#, #text7#, #text8#, #text9#);
因此当存在大于9的异常时,我可以将其删除
答案 0 :(得分:1)
您可以使用此正则表达式删除没有9个条目的每一行:
/^(?!\s*\((?:#[^#\n]*#(?:\s*,\s*#[^#\n]*#){8})\)[,;]\s*$).*/mg
答案 1 :(得分:0)
你可以尝试以下方法:
var stripped30 = htstring30.replace(/\((?:[^#\n]*?#[^#\n]*?#[,\s]?){10,}\)[,;]\s*/ig, '');
10,
后的空白表示没有上限。
修改强>
使用my answer from the previous question,但按照上面的示例更新它,对我来说,产生了良好的效果:
\(([\s]*#[^#]+#[\s]*,?){10,}\)[,;]*
让我知道你的表现。