【发布时间】:2016-02-05 16:20:55
【问题描述】:
如何替换两个美元符号之间的空格?
使用这个正则表达式一切正常,我可以删除 R 和 R 之间的空格。
\s(?![^\R]*(\R|$)) the result
但是当我使用美元符号而不是 R 时,它不起作用。也许美元符号有一些特殊的方式。
\s(?![^\$]*(\$|$)) result with dollar sign
编辑:编程语言:PHP
【问题讨论】:
-
如果字符串中只能出现一对美元,你可以试试
\s+(?=[^$]*\$[^$]*$)like this。否则,您需要通过 like this regex\s+(?!(?:(?:[^$]*\$){2})*[^$]*$)来检查所有字符串是否在平衡的美元符号内 -
我真的很想见见这个人,他在没有阅读完整问题的情况下对所有正则表达式问题投了反对票。我明白,这是我在这里的第一天,但这并不意味着我不知道如何使用这个平台。我在这里大约 6 年.. 这真的没有根据!
-
谢谢泡泡,完美!
-
输入很长,这种方法效率不高。我建议使用简单的
\$[^$]+\$并替换 match evauator/lamda 表达式中的空格,以及您的编程语言提供的所有类似方法。 -
顺便说一句,在 PCRE 和 Boost 中,
\R表示换行序列。它适用于什么语言?正如regex tag info 所述,所有带有此标签的问题还应包含一个标签,指定适用的编程语言或工具。