簡體   English   中英

正則表達式匹配兩個字符之間的特殊字符

[英]Regex Match special characters between two characters

所以我有以下要求:

  1. az 或 AZ 之間的任何字母
  2. 第一個字符必須是字母
  3. 不允許使用數字字符
  4. 除了這三個之外,不允許使用特殊字符:.-'
  5. 它們只能在字母之間

到目前為止,為了解決這個問題,我得到了以下 2 個正則表達式:

^[a-zA-Z][a-zA-Z ]*$

這是為了解決點 1,2,3

(?<=[a-zA-Z])[.\-'](?=[a-zA-Z])

這是為了解決點 4,5

測試用例可以是這樣的詞:

  • abc(通過)
  • abc(通過)
  • abc'(失敗)
  • abc'(失敗)

但是我無法將它們結合起來。 我已經嘗試過,但沒有得到預期的結果。 有任何想法嗎?

您可以使用

^[a-zA-Z]+(?:[-.'][a-zA-Z]+)*$

查看正則表達式演示

細節

  • ^ - 字符串的開頭
  • [a-zA-Z]+ - 1+ ASCII 字母
  • (?:[-.'][a-zA-Z]+)* - 0 次或多次
    • [-.'] - 連字符、點或單引號
    • [a-zA-Z]+ - 1+ ASCII 字母
  • $ - 字符串結尾

暫無
暫無

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

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