3

该线程非常相似,但我不想删除空格,而是删除任何字符。例如,我试图从字符串中删除新行(0x10 或 0x13 字符),但如果有东西在 ' ' 或 " " 周围,那么它必须保持不变。我正在使用 php。

4

1 回答 1

3

您可以通过替换以下表达式来做到这一点:

("[^"]*"|'[^']*')|[\r\n]+

使用第一个捕获组的内容:$1.

这可以通过捕获引号并将其替换为自身,或匹配您要删除的内容并将其替换为空字符串来实现。

如果您也想处理反斜杠转义,则可以在同一个替换中使用以下表达式:

("(?:[^"\\]+|\\.)*"|'(?:[^'\\]+|\\.)*')|[\r\n]+
于 2012-06-05T12:26:39.153 回答