2024-05-15 06:32:22 发布
网友
我写这个正则表达式只是为了提取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"
"Saurabh Biawal\nWey"
Saurabh Biawai Wey anna/ DOB: 10/12/1994
因此类\s匹配空白字符,包括换行符。您可以将其替换为[^\n\S],表示除换行符和非空白字符以外的任何字符
\s
[^\n\S]
实际上,表达式中不需要组,因为|将作用于整个表达式的左侧或右侧。而且{1}是不必要的,因为默认值正好是一个匹配项
|
{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'
[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'
因此类
\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'
相关问题 更多 >
编程相关推荐