Regex 如何将美元范围值与正则表达式匹配?

Regex 如何将美元范围值与正则表达式匹配?,regex,Regex,如何将美元范围值与正则表达式匹配 到目前为止,我所拥有的与单个美元值匹配,例如:$100,$1000123,或$1234 [\$]((\d{1,3}(,\d{3})*)|\d{1,3}) 但是,如果我还想匹配一个范围值,如:$100-$3000或$1000-$5000 有人能帮我吗?我不知道如何将可选的破折号字符与附加值进行匹配,无论是否使用空格字符填充。类似这样的内容: [\$]((\d{1,3}(,\d{3})*)|\d{1,3})((\s)?-(\s)?[\$]((\d{1,3}(,\d

如何将美元范围值与正则表达式匹配

到目前为止,我所拥有的与单个美元值匹配,例如:
$100
$1000123
,或
$1234

[\$]((\d{1,3}(,\d{3})*)|\d{1,3})
但是,如果我还想匹配一个范围值,如:
$100-$3000
$1000-$5000

有人能帮我吗?我不知道如何将可选的破折号字符与附加值进行匹配,无论是否使用空格字符填充。

类似这样的内容:

[\$]((\d{1,3}(,\d{3})*)|\d{1,3})((\s)?-(\s)?[\$]((\d{1,3}(,\d{3})*)|\d{1,3}))?

你的输入是什么?你希望得到什么结果?你可以用这样的话:“a(-b)”,它起作用了。非常感谢。尽管需要在破折号旁边存在空格。剩下的我都知道了。@djangofan现在怎么办?是的,成功了。我真的很感激。对我来说,很难找到关于这个问题的文档?事情是这样的。如果你删除了不需要的括号,如果你写的是
\$
而不是
[\$]
,你可以缩短你的模式。这种替代方法
\d{1,3}
也没用,因为你以前用过
(,\d{3})*