有谁能告诉我如何从下面的细节中提取名称?
Singapore Polytechnic
Daniel Rossey
Manager
66556652
test@gmail.com
我只想匹配名称“Daniel Rossey”并且下面的当前表达不起作用
^[A-z][A-z|\.|\s]+$
它也将匹配“经理”和“新加坡理工学院”。
请不要建议我使用下面这样的正则表达式:
\n[A-Z][A-Za-z ]+
这是因为这个表达式提取“Daniel Rossey”只是因为它出现在第3行,这对我来说不起作用,因为对于我的情况,名称并不总是属于第3行。
我希望形成一个正则表达式:
匹配2个最多4个字的名称
排除“理工学院”或“大学”字样
我该怎么做?
答案 0 :(得分:1)
您可以针对所述问题尝试此正则表达式:
^(?!.*\b(Polytechnic|University)\b) *[A-Za-z][A-Za-z.]*(?: +[A-Za-z.]+){1,3} *$
如果这些关键字出现在输入行的任何位置,那么 (?!.*\b(Polytechnic|University)\b)
是否会使匹配失败。休息是为了匹配2-4个单词。