首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何改进正则表达式?

如何改进正则表达式?
EN

Stack Overflow用户
提问于 2021-01-21 17:02:23
回答 1查看 41关注 0票数 2

我试图将以下几种可能性与正则表达式相匹配:

代码语言:javascript
复制
MORE THAN CAD 10,000
MORE THAN CAD 10,000 BUT LESS THAN CAD 15,000
LESS THAN CAD 10,000

我的regex适用于/^(((MORE|LESS) THAN CAD [\d,]+)|(MORE THAN CAD [\d,]+ BUT LESS THAN CAD [\d,]+))$/,但我想知道是否有更优雅的方法。

我尝试过/^(MORE THAN CAD [\d,]+)?(( BUT )?LESS THAN CAD [\d,]+)?$/,但它也允许以下内容通过:

代码语言:javascript
复制
MORE THAN CAD 10,000LESS THAN CAD 15,000
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-01-21 17:22:02

您可以使用

代码语言:javascript
复制
^(?:(MORE)|LESS) THAN CAD [\d,]+(?(1)(?: BUT LESS THAN CAD [\d,]+)?)$

regex演示

详细信息

  • ^ -字符串的开始
  • (?:(MORE)|LESS) -非捕获组匹配MORE (在第1组中捕获)或LESS
  • THAN CAD -一个文字字符串
  • [\d,]+ -一个或多个数字或逗号
  • (?(1)(?: BUT LESS THAN CAD [\d,]+)?) -一个条件,允许匹配一个可选的BUT LESS THAN CAD [\d,]+模式,如果组1匹配。
  • $ -字符串的末端。
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/65832261

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档