【发布时间】:2016-12-03 23:10:47
【问题描述】:
我在 Java 中有以下函数可以用空格替换出现的正则表达式:
string.replaceAll("\r?\n[\\s&&[^\r\n]]*", " ")
在 Python 中,相当于:
re.sub("\r?\n[\\s&&[^\r\n]]*", " ", string)
但我刚刚意识到 Python 解析正则表达式字符串的方式与 Java 不同。我的问题是 \r?\n[\\s&&[^\r\n]]* 的 Python 等效正则表达式字符串是什么?
【问题讨论】:
-
您能否添加一些示例,正则表达式应该和不应该匹配什么?另外,您尝试过正则表达式吗?您是否有证据表明它的行为与 Java 中的不同?
-
Python 有一个很好的文字字符串特性:在字符串前面加上
r-r"\n\r"- 这些被视为文字反斜杠,而不是转义字符。 -
@tobias_k I Java 如果我有
String s = "aap\nnoot ",我会得到aap noot的结果,但在Python 中我会得到aap *newline* noot。因此它的行为不一样。
标签: java python regex python-2.7 python-3.x