当前位置:   jquery > 正文

如何创建"逐步匹配"的正则表达式?

javascript,regex,DevBox,在线流程图,编程,编程问答,程序员,开发者工具,开发工具,json解析,二维码生成,unix时间戳,在线开发工具,前端开发工具,开发人员工具,站长工具

我需要一个与用户输入字符串匹配的正则表达式.这有点难以解释,所以让我说明我的意思:

它应匹配此字符串:

"XXXX units",其中XXXX是任何数字.

但它也应匹配该字符串开头的任何子字符串,因此:

"123"
"123 u"
"123 uni"

也应该匹配.

但当然,这不应该匹配:

"123 xx"

看起来很简单,但我无法弄明白.这是我最接近的:

^\d+ ?u?n?i?t?s?

...但不幸的是,它也匹配像"123us"这样的字符串.

有人可以帮忙吗?这是javascript,所以我可能会因为缺少外观/前方功能而受到限制......



1> Kenney..:

只需添加一些():

/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/

测试:

/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/.test("123 units")  -> true
/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/.test("123 un")     -> true
/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/.test("123 ui")     -> false
/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/.test("12")         -> true
/^\d+( (u(n(i(t(s)?)?)?)?)?)?$/.test("123 xx")     -> false

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/blog/jquery/detail/13402
推荐阅读
相关标签
  

闽ICP备14008679号