簡體   English   中英

JavaScript RegEX顯式字符僅匹配一次

[英]JavaScript RegEX explicit character matches only once

我需要一個具有以下約束的正則表達式:

  1. 僅包含[A-Z0-9.*]字符

  2. 長度為1至15個字符

  3. 必須包含*但只能包含一次。

因此,以下聲明:

  • ABC.123 無效 (無星號)
  • ABC.123 * 有效 (末尾加星號)
  • * ABC.123 有效 (開頭是星號)
  • ABC。* 123 有效 (中間的星號)
  • * ABC.123 * 無效 (超過一顆星)

我的目標是只使用一個表達式。 我顯然可以有一個斷言前兩個約束的表達式: [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.

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