簡體   English   中英

在正則表達式中查找數字(Javascript)

[英]Finding numbers in regex (Javascript)

這是一個奇怪的問題,但請耐心等待......

所以,我在搞亂正則表達式:我有以下代碼,如果 inputText var 包含逗號,它可以正常工作,但是如果我將它更改為“99 x 冰淇淋,每個 99 英鎊”,它就不起作用......(即它警告null)

var inputText ="99, icecream, each £99";  // expensive ice cream

var inputText = inputText.toString(); // this was done because I though if I started a string with a number js might do that weird conversion stuff it does, but I don't need it right?

var qXpe = inputText.match(/(\d{1,3})(,|[ x ]?) (\w+), each ([£]\d+[.]?\d{0,2})/g);

alert(qXpe);

我想找到結構化quantity, product, £pricequantity x product, £price的句子,當前的正則表達式適用於前者。

所以這個正則表達式返回99, icecream, each £99null 99 x icecream, each £99

任何人都可以猜測為什么這不起作用嗎? 謝謝。

當數字后面沒有逗號時,數字后面應該跟一個空格,但是您的正則表達式沒有反映這一點,因為[ x ]? 表示空格或 x,可選。 也許你想要( x )?

嘗試:

(\d+)(?:, | x )(\w+), £(\d+)

您可以使用rubular實時測試您的 RegEx。 享受

暫無
暫無

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

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