我正在嘗試將一組特定的字串與正則運算式匹配
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 正则表达式
