引号内的数字 - 正则表达式

时间:2012-10-24 00:08:18

标签: java regex

我想要一个与之匹配的正则表达式:word,“number”,word

数字类似于:100,000.00

到目前为止,我有这个,但我不知道如何检查数字周围的报价。

(w+)(,)\\(d+)(,)(d+)(.)(d+)(,)\\(w+)(,)

2 个答案:

答案 0 :(得分:1)

只需添加带有转义字符的引号,如下所示:

  

\\ W +,\\ “\\ d +,\\ d + \\。\\ d + \\”,\\ W +

我删除了最后一个昏迷...因为不是模式的一部分。

答案 1 :(得分:0)

如果您的号码后面有少量(或没有)带有树形数字的分号,或者精度部分可以是可选的,您可以使用此正则表达式:

String regex=
        "\\w+,\"" +     // word, semicolon, quote mark
        "\\d{1,3}" +    // number in form d, dd, or ddd
        "(,\\d{3})*" +  // optional (* means 0 or more times) part of numbers in format ",ddd"  
        "(\\.\\d{2})?" +// optional (? means 0 or 1 time) part ".dd" 
        "\",\\w+";      // quote mark, semicolon, word

这将接受:

-precision part is optional
d
d.dd 

-number of semicolons can change, but every semicolon MUST have 3 digits after it
dd,ddd
d,ddd,ddd
d,ddd,ddd.dd
相关问题