[英]What is the optimized regex to match the email pattern in java
我在程序中使用以下正則表達式來匹配正常工作的電子郵件模式。 模式:
(?i)[a-z0-9!#$%&*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*@(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])+
它正確匹配所有電子郵件。 但是現在,我的用例是在電子郵件正則表達式之上應用包含非常大的垃圾值的內容。 例如:30K繼續字母數字字符,沒有任何空格。 在這種情況下,代碼將花費更多的時間。 例如: 超過一分鍾 ,正常內容(不包含垃圾內容)的時間不到一秒鍾 。
幾個說明:
不適用於正則表達式。
在行中找到字符“ @”
int = str.indexOf('@'); if(i == -1)返回; 字符串地址= str.substring(0,at-1);
查找域名
if(str.substring(at).indexOf('。')== -1)返回; 字符串域= str.substring(at + 1)
驗證不正確的符號
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.