簡體   English   中英

Java中帶范圍的數字的正則表達式

[英]Regular Expression for number with range in Javascript

我在使用正則表達式,發現以下代碼返回true 誰能解釋為什么?

 console.log(/\\d{4,12}$/.test('12345678901234567890')); 

如何在正則表達式中使用有限的數字(例如4-8(數字))和一些字母? 例如(('abc7896'-> true,'a78b96'-> true等)

\\d{4,12}查看字符串是否包含 4到12位正確的數字。 如果要限制此范圍,則可以使用錨標記- ^表示字符串的開頭, $表示字符串的結尾,如下所示:

^\\d{4,12}$/^\\d{4,12}$/

現在,從字符串的開頭到結尾,只能顯示4到12個字符。

您應該在模式的開頭和結尾使用字符^$ 這樣做是為了表明您正在尋找以數字開頭的字符串,並且該字符串可以包含4到12之間的任意數字。

根據您對問題的評論和修改,可以使用以下正則表達式:

/^(?:[a-z]*\d){4,8}[a-z]*$/gim

正則演示

正則表達式分解:

^            - Start
(?:          - Start non-capturing group
   [a-z]*\d  - Match 0 or more alphabets followed by a digit
){4,8}       - End non-capturing group. [4,8} matches it 4 to 8 times
[a-z]*       - Match trailing 0 or more alphabets in input
$            - End

標志:

g - Global search
i - Ignore case Match
m - Multiline mode

您可以檢查字符串中是否有4到12位數字,中間有一些非數字。

 console.log(/^\\D*(\\d\\D*){4,12}$/.test('a78b96')); console.log(/^\\D*(\\d\\D*){4,12}$/.test('a786')); console.log(/^\\D*(\\d\\D*){4,12}$/.test('a1234567890123')); 

暫無
暫無

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

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