如何匹配两个数字,每个数字前面都有美元符号,并且在它们之间带有连字符,例如'$ 1,000 - $ 2,000'。我希望能够获得包含美元符号的全部范围。
<$> $ 1,000 - $ 2,000'其他例子:
'$ 30 - $ 40'
'$ 1- $ 2'
我试过了:([\$0-9, -]*){1}
以前有字符时它不起作用。
答案 0 :(得分: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 :(得分:0)
要匹配$ 1,000 - $ 2,000&#39;,您只需使用$ 1,000 - $ 2,000&#39;作为正则表达式。要使用格式$ x,xxx匹配1000 - 2000范围内的任何内容,请使用正则表达式:
'\$1,\d{3}|\$2,000'
要匹配任何范围,其中1000为下限,2000为上限,格式为$ x,xxx - $ x,xxx,请使用正则表达式:
'\$1,\d{3}|\$2,000 - \$1,\d{3}|\$2,000'