【发布时间】:2020-04-19 00:15:21
【问题描述】:
我从包含换行符(在本例中为 \N)和其他我不想保留的子字符串的文本文件中获取字符串。在换行符的情况下,我可以使用...
re.search('\\\\N', string)
要匹配它们,但我想知道如何匹配字符串的其余部分。正如我所说,我需要用其他子字符串来做。我试着做...
re.search('^\\\\N', string)
但这没有返回匹配项。我猜它实际上试图匹配一个以'\'开头的'N',而后者又以'\'以外的任何字符开头。
如何匹配与我传递的正则表达式不匹配的任何内容?
【问题讨论】:
-
Regex 允许您执行否定模式匹配(即在模式不存在时进行匹配)。但是,不清楚您不想匹配哪种模式。
-
@DarrylG 在许多文件之一中,我有字符串 'May 10th.感谢上帝的雨\N帮助冲走了。现在,我想匹配除 '\N' 之外的所有内容。它被读作'\\N',我不想匹配它。还有其他一些我不想匹配的模式,但我确定如果我知道如何使用这个最常见的模式,我会知道如何使用其他模式。
-
也许你只是想要
re.sub(r'\\N', '', string)? -
在这种情况下,您可能想要使用 Nick 的建议或干脆 string replace。
-
\N不是换行符,换行符是\n。在 PCRE 中,\N表示任何非换行符,在 Python 中,它仅表示N