我正在嘗試將一組特定的字串與正則運算式匹配
1- #1 – .75 加侖 $16.99
2- #2 –1.6 加侖 $36.99
這是我試圖通過多次嘗試來解決的問題,但它似乎仍然不起作用
console.log(/^#\d\s –\s [0-9]*\.[0-9] \s [a-zA-Z] \s :[0-9]*\.[0-9] $/.test('#2 – 1.6 Gallon $36.99'))
console.log(/^#\d\s –\s [0-9]*\.[0-9] \s [a-zA-Z] \s :[0-9]*\.[0-9] $/.test('#1 – .75 Gallon $16.99'))
我已經單獨瀏覽了每個部分,但我不知道我在哪里犯了錯誤,任何幫助將不勝感激。謝謝
uj5u.com熱心網友回復:
您應該在連字符周圍允許任何(甚至為零)數量的空格,并且您需要匹配美元符號而不是冒號:
^#\d\s*–\s*\d*\.?\d \s [a-zA-Z] \s \$\d*\.?\d $
請參閱正則運算式演示。
我還在匹配整數?
之后添加了一個量詞。\.
詳情:
^
- 字串的開始#
- 一個#
字符\d
- 一個數字\s*–\s*
- 用零個或多個空格包裹的連字符\d*\.?\d
- 一個整數或類似浮點數的值:零個或多個數字,一個可選數字,.
然后是一個或多個數字\s
- 一個或多個空格[a-zA-Z]
- 一個或多個字母\s
- 一個或多個空格\$
- 一個$
字符\d*\.?\d
- 整數或浮點值$
- 字串結束。
轉載請註明出處,本文鏈接:https://www.uj5u.com/ruanti/504886.html
標籤:javascript 正则表达式