如何在使用正则表达式时避开新行

2024-05-15 06:32:22 发布

您现在位置:Python中文网/ 问答频道 /正文

我写这个正则表达式只是为了提取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

Tags: 文本名称单词annadobsaurabhweybiawai
1条回答
网友
1楼 · 发布于 2024-05-15 06:32:22

因此类\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'

相关问题 更多 >

    热门问题