C#正则表达式接受电流/电压值

时间:2019-06-01 04:51:25

标签: c# regex

我需要一个正则表达式,它可以验证输入字符串是否有效的电压或电流。 必填格式为任意数字,后跟“ V”或“ A”有效。

我当时想拆分字符串并进行验证,但它不是可靠的解决方案,难以实施。

2 个答案:

答案 0 :(得分:1)

您可以使用以下内容:

^[0-9]+\s?[vaVA]$

另一个更紧凑的表达方式是

^\d+\s?[vaVA]$

或者,您可以仅包含字符[va]并将标记表示为不区分大小写。

如果您不想接受数字和单位之间带有空格的输入,请不要输入\s?。所以表达式应该是

^\d+[vaVA]$

如果您想允许使用负数,请在数字前添加破折号,例如:

^-?\d+\s?[vaVA]$

如果您想接受十进制值:

 ^-?\d+(\.\d+)?\s?[vaVA]$

由于问题被标记为C#,因此请确保转义RegEx定义或对字符串使用@运算符(即@"^\d+[avAV]$"

更新

要严格匹配,可以分别使用行首(^)和行尾锚($)。我已经更新了示例表达式以包含这些表达式。

答案 1 :(得分:0)

尝试一下 / \ d + v / gi 字符串c =“ 12V” //要验证的数字

如果(c.match(/ \ d + v / gi)!null) { 验证号码 } 其他 { 无效 }

 /\d+v|\d+a/i

\d =>选择所有数字 +>选择所有数字,直到找到一个非数字值 v =>选择v /i =>使比赛区分大小写 | =>或运算符