[英]JavaScript RegEX explicit character matches only once
我需要一個具有以下約束的正則表達式:
僅包含[A-Z0-9.*]
字符
長度為1至15個字符
必須包含*
但只能包含一次。
因此,以下聲明:
我的目標是只使用一個表達式。 我顯然可以有一個斷言前兩個約束的表達式: [A-Z0-9.*]{1,15}
,然后有一個斷言第三個約束\\*{1}
表達式。
是否有可能使用一個表達式來本質上驗證字符串輸入的整體結構,然后使用另一個表達式回繞並重新評估字符串?
使用前瞻,您可以使用此正則表達式:
^(?=.{1,15}$)[A-Z0-9.]*\*[A-Z0-9.]*$
正則表達式分解:
^
:開始 (?=.{1,15}$)
:肯定表示要輸入1到15個字符 [A-Z0-9.]*
:匹配零個或多個[A-Z0-9.]
字符 \\*
:按字面值匹配星號 [A-Z0-9.]*
:匹配零個或多個[A-Z0-9.]
字符 $
:結束
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.