我解析了一些日志,在某些情况下,用户名显示为FirstName.LastName,在其他情况下显示为FLastName。我只是想知道是否可以将两个名称解析为FLastName。 例如Joe.Doe和JDoe应该都是JDoe。 谢谢。正则表达式解析名和
1
A
回答
0
不知道你正在使用的正则表达式的平台,但是这将工作在sed:
sed 's/\([a-z[A-Z]\).*\.\(.*\)$/\1\2/'
对于字符串"FirstName.LastName
和FLastName
它给输出:
FLastName
1
这将做到这一点:
(.)(?:[^\.]*\.)(.+)$
基本上它抓住第一个字符,然后允许多个charact随后一个点,然后抓住其余的。替换字符串将是:
$1$2
但这取决于您正在使用的正则表达式工具。
Try it on RegExr(谢谢stema,我不知道这个网站)。
0
我的解决办法,(但其他两个也能发挥作用)
^([a-zA-Z])(?:.*\.)?(.*)$
它的第一个字母相匹配,那么下面的部分,直到点是可选的。最后匹配字符串直到结尾。第一个字母是在第1组和姓氏是第2组
所以用$ 1 $ 2(或\ 1 \ 2,这取决于你的正则表达式引擎)取代
相关问题
- 1. 正则表达式{}解析
- 2. 正则表达式解析
- 3. 正则表达式解析
- 4. 解析和使用正则表达式
- 5. PHP正则表达式和URL解析
- 6. StringBuilder的和正则表达式解析
- 7. c#正则表达式列表解析
- 8. 正则表达式解析PnPID
- 9. 正则表达式HTTP头解析
- 10. 正则表达式i18next解析句柄
- 11. 解析与正则表达式
- 12. 正则表达式 - 解析Csv文本
- 13. 正则表达式解析HTML链接
- 14. Perl正则表达式vs解析
- 15. ruby正则表达式,解析html
- 16. JSON解析使用正则表达式
- 17. 正则表达式解析HTML
- 18. URI解析的正则表达式
- 19. PHP加正则表达式解析
- 20. 正则表达式解析多数据
- 21. 解析数据的正则表达式
- 22. 解析HTML与正则表达式
- 23. Html解析与正则表达式
- 24. 正则表达式来解析IP
- 25. Python正则表达式 - 解析HTML
- 26. 正则表达式解析问题
- 27. 解析HTML与正则表达式
- 28. Ruby正则表达式文本解析
- 29. Python的正则表达式解析器
- 30. 结合正则表达式解析
不能匹配JDOE因为'.'不是可选的。 – stema 2011-05-13 18:37:47
正确,那是有目的的,如果你在上面运行'JDoe'将保持'JDoe',这就是你想要的。 – anubhava 2011-05-13 18:45:54
啊,好吧,如果你这样看,那你就是对的。 – stema 2011-05-13 18:48:05