允许RegEx以句点或减号开头
Allowing the RegEx to start with a period or minus sign
我花了几个小时来寻找解决方案。我有以下RegEx:
(?=.)^(([1-9][0-9]{0,8})|([0-9]))?('.[0-9]{1,2})?$
我想增加第一个字符匹配减号的能力,但仍然匹配所述RegEx的其余部分。
我需要这些来工作:.0.34-.34-30.0-33.03-34-2我需要这些失败:-040433.-34.33美元1234567890.23(任何非数字字符)
感谢您的帮助。
您可以使用以下正则表达式:
^-?(?:[1-9][0-9]{0,8}(?:'.[0-9]{1,2})?|'.[0-9]{1,2})$
RegEx演示
编辑:如果要允许0.45
作为有效输入,请使用:
^-?(?:[1-9][0-9]{0,8}(?:'.[0-9]{1,2})?|0*'.[0-9]{1,2})$
在正确的位置添加可选的-?
就可以了。
此外,我确信您不需要所有这些捕获组(请参阅此处的演示):
^-?(?=.)(?:[1-9][0-9]{0,8}|0)?(?:'.[0-9]{1,2})?$
^-? # optional leading -
(?=.) # followed by at least one character
(?: # non capturing group
[1-9][0-9]{0,8} # number without leading 0
| # or
0 # single 0
)? # integer part is optional
(?:'.[0-9]{1,2})?$ # decimal part
这应该适用于
^(?:-[1-9.]{1}[0-9]*|'.|0'.)'.?[0-9]{0,2}$
演示
相关文章:
- 使用regex的jquery keydown绑定不会验证撇号和句点
- 我们如何使用css或JavaScript在i/j上更改句点(点)的颜色
- JavaScript从字符串中删除尾随空格和句点
- 下划线用句点扩展.旋转引号被删除,如何用引号获得它
- javascript或css:如何隐藏后面跟着句点前缀的任何数字"1.文本”"2.文本“"
- 如何提取与前面带句点(.)的同一字符串匹配的字符串?(仅使用正则表达式)
- 如何在 javascript 中使用正则表达式提取句点 (.) 之后的字符串
- 什么'这个代码只允许数字和句点,这是错误的
- 基于jquery中id(其值中有句点)属性的访问值..
- Regex表示用句点分隔的3个3位数的值
- 如何用逗号和句点分隔JavaScript字符串
- javascript是否有一个选项可以使句点与任何字符匹配,包括换行符
- 主机名开头的点和主机名中间的2个点的电子邮件验证
- 在节点快速路由中使用句点时获取 403
- SQL查询-替换字段名称中的句点
- 在访问对象属性时,括号表示法比句点表示法慢
- 电子邮件正则表达式不会验证句点后的部分
- 如何删除句点和前一个单词之间的空格
- 允许RegEx以句点或减号开头
- 通过以句点开头的CSS类名获取元素