我的正则表达式用于匹配电子邮件,watzapp,Viber,Line,BBM,Snapchat和电话联系人。
表达式为: -
(?i)([\w.]+@[\w.]+)|(?:(?:\b|[,/]\s*)(?:whatsapp|viber|wechat))+\b\s*[::]?\s*(\+?\d+)|\bline(?:\sid)?\s*(?:[::]\s*)?(@\w+)|((?:\+\d+)?[ -]?(?:\(\d+\)[ -]?)?[\d -]{6,}\d)
示例字符串是: -
1) Contact\n♬Line : @PIJ2410J (fast)\n♬BBm : 7470287C\nCustom Case : @KatalogVladdera\nBeauty Care : @Beauty.Vladdera\nTanyakan Stock Dahulu
2) 8349557\nBhayangkari MOMENT INFINITY\nBISNIS HALAL\n \nINCOME 125rb-14juta /hari\nJoin with myteam fullsuport\n 082120504980\nPin BB :5A878C9D
3) 5-yr online store Real pictures Mirror Quality 1:1 Whatsapp/Viber +861776345378 spikydudewonderland@gmail.com ✈️✈️Worldwide Shipping
4) Девочки это наша новая страничка.Только копии Lux, искателям дешевых подделок не беспокоить. По всем вопросам viber,whatsapp +79128743333 Лианна
5)Recruitment AgentsThe most powerful manufacturers,we have thebest quality.Wechat:13255996580Whatsapp:+8618820784535
6) เข้าช้อปทุกวันจ้า ซื้อกับวี้ได้ของแท้แน่นอนค่า แบรนด์อื่นสอบถามได้ค่า ดรีวิว@reviewkayasisshopp LINE ID : @kux1427k (มี @ ด้วยจ้า)
正如你所看到的,我已经把它变成了捕获组。我的表达式无法匹配字母数字的BBM引脚。如何进行更改?请帮忙。
以下是我尝试过的regex101的链接。https://regex101.com/r/xQ0fM2/5
答案 0 :(得分:1)
您的正则表达式可以增强,以匹配appending \bBBM\s*:\s*(\w+)
to its end所需的代码。
请注意,\w
可以匹配下划线,因此,如果应排除下划线,\w
可以替换为[^\W_]
。
另外,我认为可选的(?:\+\d+)?[ -]?(?:\(\d+\)[ -]?)?
根本不需要,它只会妨碍性能并且可以删除。
尝试
([\w.]+@[\w.]+)
|
(?:(?:\b|[,/]\s*)(?:whatsapp|viber|wechat))+\b\s*[::]?\s*(\+?\d+)
|
\bline(?:\sid)?\s*(?:[::]\s*)?(@\w+)
|
([\d -]{6,}\d)
|
\bBBM?\s*:\s*(\w+)
或一行:
([\w.]+@[\w.]+)|(?:(?:\b|[,/]\s*)(?:whatsapp|viber|wechat))+\b\s*[::]?\s*(\+?\d+)|\bline(?:\sid)?\s*(?:[::]\s*)?(@\w+)|([\d -]{6,}\d)|\bBBM?\s*:\s*(\w+)
请参阅regex demo
[\d -]{6,}\d
部分也可以改进,但是要测试的数据太少了。