簡體   English   中英

正則表達式,以匹配開頭的字符和末尾的數字

[英]Regex to match chars at the start and digits at the end

對於以下情況,我需要一個正則表達式:

  • 字符串的長度正好是8
  • 字符串不能以PAK開頭
  • 第一個字符必須是大寫字符[AZ]
  • 第二到第四個字符可以是大寫字符
  • 其余字符只能是數字

例子:

  • PAK12345->不允許
  • T1234567->允許
  • ABCD1234->允許
  • ABC12345->允許
  • AB12345A->不允許
  • ABCDE123->不允許
  • ABC123->不允許

實際上,我有以下正則表達式:

(?!PAK)([A-Z]{1,4}[A-Z0-9]{7})$

此正則表達式的問題在於,“ ABCDE123”是一個匹配項。

我怎么能說前1到4個字符只是大寫字符,其余(直到8個字符)是數字?

刪除正則表達式范圍運算符,並進行精確的字符長度匹配。 首先請添加正向前瞻,以確保長度必須恰好為8。

^(?=.{8}$)(?!PAK)([A-Z]{1,4}[0-9]+)$

DEMO

暫無
暫無

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

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