首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Regex匹配问题

Regex匹配问题
EN

Stack Overflow用户
提问于 2010-12-08 07:46:51
回答 1查看 80关注 0票数 0

我不知道怎么写这样的regex。我先举个例子。

我的坏判罚:

代码语言:javascript
复制
(\d*),?(\d*\.?\d*)-?(\d*\.?\d*),?([0-1]?),?([0-1]?),?([^\/]*)

合适的匹配:

代码语言:javascript
复制
1,2-3,1,1,asdf
1,2-3,1,1
1,2-3,1
1,2-3
1,2
1

但不幸的是,这也将是匹配的,我不希望它是:

代码语言:javascript
复制
asdf
1,asdf

理想情况下,我希望-匹配,如果以前的小组是匹配的。

我知道应该用正面的眼光看后面,但是如果我没有错的话,应该在每个小组的前面正确地使用,除了第一和正则表达式之后会很大很臭。嗯,可能是可变长度。

有什么优雅的方法吗?

编辑

我想匹配所有的行,下面给出的匹配是可以的。

我想把\d*和第一组相匹配。然后,如果\d*,匹配,那么我想将(\d*\.?\d*)匹配到第二组。在此之后,如果在第一组中有匹配,然后是,,然后是第二组,然后是-,我想匹配另一个(\d*\.?\d*).等到Regex的尽头。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2010-12-08 07:53:46

你的问题不太清楚,但从例子来看,我认为这是你需要的:

代码语言:javascript
复制
^\d(,\d-\d(,\d(,\d(,[a-z]+)?)?)?)?$

它符合:

代码语言:javascript
复制
1,2-3,1,1,asdf
1,2-3,1,1
1,2-3,1
1,2-3
1,2
1

测试链接。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/4385229

复制
相关文章

相似问题

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