我正在寻找单个pcre(版本3.85)兼容的正则表达式,它匹配由三个或更多标题大小写单词组成的字符串,但不匹配任何包含以小写字母开头的单词的字符串。 E.g:
"Gaius Julius Caesar" should match
"Gaius Caesar" should not match
"Gaius Julius Caesar Rome" should match
"Gaius julius Caesar" should not match
尝试
(\b[A-Z]\w+\b){3,}
没有成功。
任何提示?
答案 0 :(得分:1)
您可以尝试以下pcregrep命令,
$ pcregrep -o -M '^[A-Z]\w+(?: [A-Z]\w+){2,}$' file
Gaius Julius Caesar
Gaius Julius Caesar Rome
OR
如果起始大写字母后面的以下字符必须为小写,请尝试以下命令。
$ pcregrep -o -M '^[A-Z][a-z]+(?: [A-Z][a-z]+){2,}$' file
Gaius Julius Caesar
Gaius Julius Caesar Rome
答案 1 :(得分:0)