簡體   English   中英

正則表達式模式格式驗證

[英]Regex Pattern Format Validation

我需要一個RegEx模式,該模式將由客戶端發送,其中起始字符為字母數字,起始字符串的長度將由該字符串后面的數字定義。 隨后是一個特殊字符,該字符將始終是單個字符。 緊接着是可變長度的字母數字字符字符串。

我最接近以下字符串和格式。

[A-Za-z0-9]{4}-[A-Za-z0-9]{5}         - RegEx Input String

[A-Za-z0-9]{2}#[A-Za-z0-9]{6}         - RegEx Input String

[0-9]{3}#[0-9]{5}                     - RegEx Input String

[a-z]{5}#[a-z]{5}                     - RegEx Input String

[A-Z]{4}#[a-z]{4}                     - RegEx Input String

[\w]{\d{1,1}}(\S{1,1})[\w]{\d{1,1}}   - RegEx Format

以上格式和格式正確嗎?

我們可以根據所需的RegEx格式驗證RegEx輸入字符串嗎?

這是一個Web服務,輸入為[A-Za-z0-9] {4}-[A-Za-z0-9] {5}。 我在這里需要兩件事。 首先,如何驗證此輸入是否與我想要的格式匹配,然后繼續。 該格式是我上面提到的RegEx格式。

此正則表達式應匹配您感興趣的正則表達式的子集:

\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\})?\S\[(?:[a-zA-Z0-9](?:-[a-zA-Z0-9])?)*\](?:\{\d\})?

讓我們分解一下:

  • 它與一行依次包含一個字符類,一個可選量詞,一個分隔符,第二個字符類及其第二個可選量詞的行匹配
  • 分隔符是任何非空格字符\\S (您可能希望將其更改為更具體的內容,或者包含一些空格)
  • 可選的量詞很容易,它是一個數字,中間用大括號括起來,整個包圍在一個無約束的組中,我們用它來使它成為可選的: (?:\\{\\d\\})? 請注意,這將不接受多位數字的長度,因此您可能希望將\\d更改為\\d+ ,也不想將更具體的{m,n}范圍量詞更改為。
  • 字符類是由0個或更多字符或字符范圍組成的序列,並用文字括號括起來。
  • 字符是字母還是數字: [a-zA-Z0-9](?:-[a-zA-Z0-9])? 當無限制的組不匹配時
  • 一個字符范圍是一個字符,其后是文字-隨后是另一個字符: [a-zA-Z0-9](?:-[a-zA-Z0-9])? 當無界組匹配時

暫無
暫無

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

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