如何在使用REGEX时转义新行

时间:2019-02-27 12:37:17

标签: python regex python-3.x

我已将此正则表达式编写为仅提取2个或3个单词的名称

([A-Z]{1}[a-z]+\s[A-Z]{1}[a-z]+\s[A-Z]{1}[a-z]+)|([A-Z]{1}[a-z]+\s[A-Z]{1}[a-z]+)

例如。输出应该只是"Saurabh Biawai",但是它是从下面的文本中给我这个"Saurabh Biawal\nWey"

Saurabh Biawai
Wey anna/ DOB: 10/12/1994

1 个答案:

答案 0 :(得分:1)

因此类\s匹配空格字符,包括换行符。您可以将其替换为[^\n\S],表示除换行符和非空格字符外的任何内容。

实际上,您不需要表达式中的组,因为|会作用在左侧或右侧的整个表达式上。此外,{1}也是不必要的,因为默认值恰好是一个匹配项。

正则表达式[A-Z][a-z]+[^\n\S][A-Z][a-z]+[^\n\S][A-Z][a-z]+|[A-Z][a-z]+[^\n\S][A-Z][a-z]+返回'Saurabh Biawai'