我解析了一些日誌,在某些情況下,用戶名顯示爲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. c#正則表達式列表解析
- 3. 正則表達式解析HTML
- 4. 如何解析正則表達式
- 5. 神交解析與正則表達式
- 6. 用正則表達式解析css
- 7. 正則表達式:解析出行
- 8. 解析javascript中的正則表達式
- 9. Ruby正則表達式:解析C++類
- 10. 解析正則表達式 - (Not enough)的
- 11. Python的正則表達式解析
- 12. 錯誤解析正則表達式
- 13. 正則表達式解析的robots.txt
- 14. 正則表達式解析URL PHP
- 15. 正則表達式HTTP頭解析
- 16. MSBuild 4.0正則表達式解析
- 17. 正則表達式解析問題
- 18. Python 2.7版解析正則表達式
- 19. 結合正則表達式解析
- 20. 解析多行與正則表達式
- 21. Perl正則表達式vs解析
- 22. 正則表達式解析的queryString
- 23. C#正則表達式解析HTML
- 24. Html解析與正則表達式
- 25. 問題的正則表達式解析
- 26. 飛鏢:正則表達式解析
- 27. 正則表達式解析csv
- 28. 正則表達式解析錯誤
- 29. 使用pyparsing解析正則表達式
- 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