2016-09-16 123 views
2

我想过滤用户登录名,但一直得到垃圾。用户名和姓以大写字母开头。我正在使用grep GNU 2.10。正则表达式到姓名。姓名

Like A lbert。 ø剖腹

[A-Z].*[.][a-zA-Z].* 

那么下列字符是空间或其他标点符号即/; 我认为它缺少一些代码“除了标点符号或空格”。

获取Albert.Ohara/blahblah或Albert.Ohara等等

回答

3

您可以使用此正则表达式匹配First.Last

\b[A-Z][a-zA-Z]*\.[A-Z][a-zA-Z]*\b 

使用grep -E延长正则表达式的支持。

正则表达式解体:

\b   # word boundary 
[A-Z]  # match an uppercase letter 
[a-zA-Z]* # match 0 or more of letter 
\.   # match a literal DOT 
[A-Z]  # match an uppercase letter 
[a-zA-Z]* # match 0 or more of letter 
\b   # word boundary 
+1

的grep -OE “\苯并[a^C] [A-ZA-Z] * \ [AZ] [A-ZA-Z] * \ b” 的 它的工作。谢谢! –

相关问题