簡體   English   中英

帶有特殊字符的 AlphaNumeric 正則表達式

[英]Regex For AlphaNumeric with special chars

我是正則表達式的新手,並試圖找到一個正則表達式,它允許字母數字或文本,但不允許使用特殊字符(如“、”、“'”、“()”、“/”、“。”)的完整數字。

ex: aa12,--allowed
aa,-allowed
123-Not allowed
123,--not allowed
123,a--allowed.

字母數字-

\d*[a-zA-Z][a-zA-Z\d\s]*$

正在工作,但堅持包含特殊字符。 有什么幫助嗎?

如果您只是想確保字符串包含一個字符,只需匹配

.*[a-zA-Z].*

如果您需要匹配整行。 或者更簡單

[a-zA-Z][az]

最后一個如果你可以設置不區分大小寫的標志(你沒有說明正則表達式風格)。 如果文本中有一個字母,最后兩個將簡單地匹配。 而且我看不出你要找的不是那個。

在 regex101 處查看

這在所有情況下都適用於我..

/^(?=.*\d)(?=.*[a-z])(?=.*[A-Z])(?=.*[_@.#&+-])[A-Za-z0-9_@.#&+-]{8,}$/

下面是它的工作原理,

  • ^(?=.*\d) - 檢查字符串中的至少一位數字
  • (?=.*[az]) - 檢查字符串中的至少一個小寫字母
  • (?=.*[AZ]) - 檢查字符串中的至少一個大寫字母
  • (?=.*[_@.#&+-]) - 檢查字符串中至少一個特殊字符
  • {8,} - 檢查字符串長度是否至少為 8 個字符

單擊此處在Regex 101進行測試。

可能我無法傳達正在嘗試解決的問題。 我的情況是

如果所有數字--錯誤如果所有特殊字符--錯誤如果只有數字+特殊字符--錯誤

剩余的全部應標記為非錯誤。 對於特殊字符,我得到一個特定的列表讓它們進入。我嘗試並最終嘗試了下面的正則表達式似乎有效。 任何優化? \d*([a-zA-Z,/().] [a-zA-Z][,/().] )[a-zA-Z\d\s]*$

暫無
暫無

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

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