正则表达式:如何匹配最后的','在字符串"文本第一部分,文本第二部分,文本第三部分,"

时间:2016-08-03 13:54:55

标签: regex

我正在使用这个正则表达式

/(?![""])(,)(?![""])/g

匹配我给定的逗号分隔字符串中的所有逗号" "

 "this is a text","text part one, text part two, text part three,","another text","more text",

三个'之后的逗号。不匹配...... 感谢任何有用的提示!

3 个答案:

答案 0 :(得分:0)

这可能会通过某种前瞻来做得更好,但由于我不确定你到底发生了什么,我会把这些想法抛在那里。

将您的字符串加载到测试文件" testtxt"并在它上面运行了一些perl单行游戏。我用替换来证明匹配。

要摆脱最后一个逗号:

<md-sidenav class="md-sidenav-left" md-component-id="left" md-is-locked-open="$mdMedia('gt-lg')" md-disable-backdrop="" md-whiteframe="4">

删除引号内的所有逗号:

perl -ple 's/,(")/$1/g' testtxt
"text part one, text part two, text part three"

除去字符串中的逗号之外的所有内容:

perl -ple 's/,//g' testtxt
"text part one text part two text part three"

答案 1 :(得分:0)

逗号仅在单词后出现在文本中,因此潜在的正则表达式可能是:

 /\w+(,)/g

匹配一个到N个单词,并在它们后面捕获逗号。 可在此处获得结果:https://regex101.com/r/vJ0hY5/1

答案 2 :(得分:0)

您可以将正则表达式用作:/\w+(,)(?=\")/g

以上正则表达式'前面加word后跟"

Demo and Explaination