我已将此正则表达式编写为仅提取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
答案 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'