首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我想要egrep正则表达式的多组数字没有联合

我想要egrep正则表达式的多组数字没有联合
EN

Stack Overflow用户
提问于 2013-06-14 01:36:04
回答 5查看 2.3K关注 0票数 0

这似乎是一个基本的问题,但我已经做了相当多的搜索,也找不到答案。

假设我有许多组数字

9-9-9

999

123

1-23

12-3

444

55-5

我想要为所有数字设置egrep,现在我可以这样做的一种方法是设置一个egrep并联合所有可能性的正则表达式。

egrep '0-90-90-9|0-90-90-9‘等等

有没有办法在我的正则表达式中指定0-9或NULL或-字符?所以我可以编写一个不带联合的正则表达式,比如0-90-9-NULL0-9-NULL,然后让它返回所有的组?

因此它要搜索的组如下所示

  • first 0-9
  • second 0-9,-,NULL
  • third 0-9,-,NULL
  • fourth 0-9,-,NULL
  • 第五个0-9,-,NULL

第六个0-9,NULL

任何帮助都是非常感谢的。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2013-06-14 01:41:00

不包括'Null‘部分,因为我不太确定这是什么意思,您对egrep使用了一个简单的正则表达式:

代码语言:javascript
复制
[0-9](-?[0-9]){2}

-?表示0次或1次发生-

{2}表示前面的组重复两次。将其更改为+,表示至少一次。

票数 2
EN

Stack Overflow用户

发布于 2013-06-14 01:40:01

尝试如下所示的正则表达式

代码语言:javascript
复制
\d[-0-9]+

一次或多次使用破折号或0-9

编辑

或者必须以数字开头和结尾(或只有一个数字

代码语言:javascript
复制
\d[-0-9]*\d|\d

编辑

或者总是三位数

代码语言:javascript
复制
\d{3}|\d-\d{2}|\d{2}-d
票数 1
EN

Stack Overflow用户

发布于 2013-06-14 01:41:07

我认为egrep '[0-9][0-9\-]*'应该提供你想要的行为。

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

https://stackoverflow.com/questions/17093508

复制
相关文章

相似问题

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