我在过去的一篇论文中尝试了一些问题,但我特别挣扎于此。 目前我正在思考一些事情:
([A-Z]*),? ([A-Z]*) ([A-Z]*)?
但这似乎不起作用,因为我确定我的格式/一般都是错误的。请帮忙吗?
如果您想知道这个问题是下风,那么您就知道我想要实现的目标。 非常感谢。
个人姓名应包含一个姓氏和一个或多个姓氏。如果姓 放在姓氏前面,然后姓氏后面必须加逗号。这里 是一些例子:
- GRAHAM ARTHUR CHAPMAN
- ERIC IDLE
- GILLIAM,TERRY
- TERRY JONES
- CLEESE,JOHN MARWOOD
- MICHAEL PALIN
您如何使用egrep命令查找包含个人姓名的行?您可以 假设名称仅以大写字母书写。
答案 0 :(得分:2)
^[A-Z]+,?( [A-Z]+)+?$
这样做是为了确保该行以一个字母开头,后面跟一个逗号,然后是一个由一个空格后跟至少一个字母组成的任何其他单词组。
答案 1 :(得分:1)
你的正则表达式只允许两个名字。使用它(不捕获组):
[A-Z]+,?( [A-Z]+)+
我已将*
更改为+
s,因为您只会将两个空格匹配。