我必须编写正则表达式,只接受两个符号+和 - 并且可以是任何否。数字,但+应该是第一个标志,如果它在那里
答案 0 :(得分:3)
答案 1 :(得分:3)
我假设以下内容:
+
可能只在数字的开头-
不应该
你可以试试这个正则表达式:
^\+?(?:[\d]+\-)*[\d]+$
传递以下字符串示例:
失败以下字符串示例:
修改强>
正如@Alovchin指出的那样,OP表示需要允许点(.
)以及one of the answer comments中的数字。虽然这个要求没有反映在这个问题中,但我将在这里添加它。只是在案例中。
如果要求允许点(.
),则需要将上述正则表达式更新为以下内容。
^\+?(?:[\d]+[\-\.])*[\d]+$
希望这有帮助。
答案 2 :(得分:0)
在 C#中试试这个:
^\+?(?![\-\.])[\d\-\.]+(?<![\-\.])$
Tanzeel Kazi 有更好的答案。