簡體   English   中英

正則表達式匹配數字范圍?

[英]Regex to match number range?

如何匹配兩個數字,每個數字前都有美元符號,並且它們之間帶有連字符,例如'$ 1,000-$ 2,000'。 我想獲得包括美元符號在內的完整范圍。

'$ 1,000-$ 2,000'

其他例子:

'$ 30-$ 40'

'$ 1- $ 2'


我試過了: ([\\$0-9, -]*){1}當以前有字符時不起作用。

\$1[0-9][0-9][1-9]\s

對我來說這很簡單...如果您排除1000和2000 ...如果包括1000和2000

\$((1[0-9][0-9][0-9])|(2000))\s

肯定有一種更清潔的方式來做...但這可以完成工作

**********************編輯*************************

現在,您更改了問題...我認為一個簡單的正則表達式將是

\$[0-9]*\s?\-\s?\$[0-9]*\s?

美元符號,后跟任意數量的數字,

可選的空格,

短跑,

可選的空格,

美元符號后跟任意數字,

可選的空格。

要匹配“ $ 1,000-$ 2,000”,您只需使用“ $ 1,000-$ 2,000”作為正則表達式。 要匹配格式為$ x,xxx的1000-2000范圍內的任何內容,請使用regex:

'\$1,\d{3}|\$2,000'

要匹配格式為$ x,xxx-$ x,xxx的下限1000和上限2000之間的任意范圍 ,請使用正則表達式:

'\$1,\d{3}|\$2,000 - \$1,\d{3}|\$2,000'

暫無
暫無

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

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