首页 > 解决方案 > 只接受小数和 - 的正则表达式

问题描述

我正在寻找一个允许十进制数字和 - 的正则表达式。我希望小数点允许两位小数(.00)。我写的正则表达式只接受小数而不接受-。对此的任何帮助都会很棒!

我的正则表达式代码:

    If Regex.IsMatch(node1("Comission").InnerText, "^[-]|\s\d{0,10}(\.\d{1,2})?$") = False Then
        lstNodeErrs.Add(" invalid Comission:  " & Comission)
    End If

xml

<?xml version="1.0" encoding="us-ascii" standalone="yes"?>
<audit_xml>
    <DataTable>     
        <Total_Debit_Amt>11.39</Total_Debit_Amt>
        <Comission>11.39</Comission>
        <Total_Taxes> </Total_Taxes>    
        <Tax_on_Commission_Amount> - </Tax_on_Commission_Amount>
    </DataTable>

示例数据:有效:

 14
 154542.75
 .91
 0.00
 -
 8.57

无效的:

12.1233
fhjfjfjh
ghghg.kk

注意:佣金可以是十进制空或 -

标签: regexvb.net

解决方案


这行得通吗?

^\d{0,10}(\.[0-9-]{1,2})?$

如果这不起作用,请分享一些示例数据。


推荐阅读