簡體   English   中英

用於允許字母數字、特殊字符且不以 @ 或 _ 或結尾的正則表達式

[英]regex for allowing alphanumeric, special characters and not ending with @ or _ or

我是 regex 的新手,我在 regex 下方創建了它,它允許使用字母數字和 3 個特殊字符 @._ 但字符串不應以 @ 或 . 要么 *

^[a-zA-Z0-9._@]*[^_][^.][^@]$

它驗證 abc@ 但對 abc 失敗。

您的模式允許至少 3 個字符,其中最后 3 個是與除所列字符以外的任何字符匹配的否定字符類。

模式^[a-zA-Z0-9._@]*[^_][^.][^@]$匹配 3 個換行符,並將所有字符添加到單個字符類^[a-zA-Z0-9._@]*[^@._]$也將僅匹配單個換行符


如果您想允許所有 3 個“特殊”字符並且總共匹配至少 3 個字符,您可以使用{2,}重復字符類 2 次或更多次{2,}並在末尾匹配一個沒有特殊字符的字符。

^[a-zA-Z0-9._@]{2,}[a-zA-Z0-9]$

正則表達式演示

匹配至少一個字符(並且不以. _ @結尾)

^[a-zA-Z0-9._@]*[a-zA-Z0-9]$

正則表達式演示

前導 ^ 是段落的開頭
尾隨 $ 是段落的結尾
. 是一切 {2,} 意味着超過 2 個字母
[^@_] 表示一個字母不是@或_

^.{2,}[^@_]$

點擊這里的答案

如果您將所有字符都包含在一個字符集中,那將起作用。

^[a-zA-Z0-9._@]*[^@._]$

在此處輸入圖片說明

屏幕截圖顯示了不同的文本示例如何工作(在http://regexr.com上試用)

暫無
暫無

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

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