c#正则表达式匹配

时间:2010-11-10 11:32:02

标签: c# regex

我有正则表达式:

\[IN\](\d+)\[/IN\]

适用于:

...[IN]34[/IN]...
...[IN]1[/IN]...
...[IN]12[/IN]...
etc

但它对小数不太有效,IE:

...[IN]3.5[/IN]...
...[IN]2.8[/IN]...
...[IN]9.4[/IN]...
etc

我如何使它与这些相匹配?

谢谢!

4 个答案:

答案 0 :(得分:2)

从我的头脑中,我认为应该是这样的:

[IN](\d+\.?\d*)[/IN]

编辑:经过测试和更正的版本:

\[IN\](\d+(\.\d+)?)\[\/IN\]

答案 1 :(得分:2)

它不检查它是否是有效的float(有一个小数点):

([\d.]+)

答案 2 :(得分:2)

试试这个 -

\[IN\]\d+(\.\d+)?\[/IN\]

答案 3 :(得分:0)

像这样的东西

[IN](\d+|\d+\.\d+)?[/IN]

如果您有一个点,这可以确保您在点后面有一个数字。