我需要匹配一個模式進行驗證。我想匹配一個十進制數,其中數字部分最多有 7 位數字,小數部分最多有 9 位數字。有效的模式是:
1.8
1234567.123456789
.8
0.7
12.78
我嘗試使用 " ^[0-9]{7}.[0-9]{9}$" 但它沒有按預期作業
uj5u.com熱心網友回復:
大括號中指定的重復引數用于匹配前一個標記的精確匹配數。您的正則運算式試圖匹配 7 位數字 ( {7}),后跟 9 位數字 ( {9})。您還使用點通配符來匹配小數點,\.當您打算匹配文字字符點而不是任何字符時,您應該使用斜杠 ( )進行轉義。
從您的示例來看,您似乎想要匹配小數點前的 0 到 7 位數字,然后匹配小數點后的 1 到 9 位數字。一個合適的正則運算式是:
^[0-9]{0,7}\.[0-9]{1,9}$
請注意,我也在使用重復,但我提供了兩個引數。第一個引數是前一個標記的最小匹配數,第二個引數是最大值。通過這種方式,我們可以非常明確地說明我們期望的確切重復次數。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qiye/339821.html
標籤:javascript 正则表达式
