簡體   English   中英

在正則表達式中使用\\ P {M}時,避免在電子郵件地址中使用2個“ @”符號

[英]Avoiding 2 '@' signs in email address when using \P{M} within regular expression

我正在為電子郵件地址創建一個驗證正則表達式,問題是不僅接受標准的拉丁字符,而且還接受俄語,瑞典語和其他使用非拉丁字符的語言。

我正在使用的是\\P{M}代碼,該代碼基本上允許插入任何Unicode代碼點。 問題是.....按照電子郵件地址的標准語法,我當然只希望允許1個'@'(@)。 我如何避免這種情況? 這是我到目前為止擁有的RegEx:

input.matches("\\P{M}+@{1}\\P{M}+\\.[a-zA-Z]{2,6}$");

謝謝任何建議,我一直在嘗試許多不同的組合,但到目前為止沒有任何幫助

謝謝

(?:[a-z0-9!#$%&'*+/=?^_`{|}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_`{|}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])

http://www.regular-expressions.info/email.html

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM