我想使用匹配整数和浮点数re
模块。因此,如果有人键入以下输入类型之一,它应该验证它是否是一个数字:
- 1000
- 1.000
- 1,000
- ($1,000.98)
- -1.000
- 1.0
- $1,0000
现在我正在使用以下内容:
"^[-+]?[0-9]+$"
任何帮助表示赞赏
对于给定的输入,此正则表达式应该有效:
^(?:[+-]|\()?\$?\d+(?:,\d+)*(?:\.\d+)?\)?$
正则表达式演示 https://regex101.com/r/wXIMo7/7
Breakup:
-
^
- Start
-
(?:
- Start non-capturing group
-
[+-]
- 匹配+
or -
-
|
- OR
-
\(
- 匹配(
)?
- 结束非捕获组(可选)
-
\$?
- 匹配$
(选修的)
-
\d+
- 匹配 1 个或多个数字
-
(?:
- Start non-capturing group
-
)*
- 结束非捕获组(零次或多次出现)
-
(?:
- Start non-capturing group
-
\.
- 匹配一个点
-
\d+
- 匹配 1 个或多个数字
-
)?
- 结束非捕获组(可选)
-
\)?
- 匹配文字)
(可选)最后
-
$
- End
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)