从字符串中删除不匹配的引号

时间:2014-04-10 12:37:31

标签: regex

我需要一个正则表达式,它将删除不匹配的引号。我有一个正则表达式,它将删除引号之间的所有特殊字符。

[^\w\s'"](?=(([^']*'){2})*[^']*$)

这将执行上述过程,但是我需要替换无法匹配的引号或者叛逆者标记。

Input=hai@@#hello'world@'today'并且输出应该像hai hello 'world@' today我的上述正则表达式将正常工作,除非删除奇数apostrope.

1 个答案:

答案 0 :(得分:0)

在JavaScript中,这似乎对我有用:

"hai@@#hello'world@'today'".match(/\w+|'[^']*'/g).join(" ");

匹配单词(由字母数字组成)或撇号之间的任何内容。它将匹配撇号1和2之间的第一组,但不匹配2和3之间,因为2已经匹配。