首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何在正则表达式中使用数字间隔?

如何在正则表达式中使用数字间隔?
EN

Stack Overflow用户
提问于 2013-07-20 01:05:12
回答 2查看 261关注 0票数 0

我有一组文件夹:

代码语言:javascript
复制
$ ls -d _clip* 
_clip10.trim  _clip12.trim  _clip14.trim  _clip16.trim  _clip2.trim  _clip4.trim  _clip6.trim  _clip8.trim
_clip11.trim  _clip13.trim  _clip15.trim  _clip1.trim   _clip3.trim  _clip5.trim  _clip7.trim  _clip9.trim

我需要选择两批文件夹,一批是从_clip1.trim_clip6.trim

代码语言:javascript
复制
$ ls -d _clip[1-6].trim 
_clip1.trim  _clip2.trim  _clip3.trim  _clip4.trim  _clip5.trim  _clip6.trim

和其他从_clip7.trim_clip16.trim,但当我尝试使用ls -d _clip[7-16].trim only list时,会列出_clip6.trim

我需要了解如何在正则表达式中使用数字间隔。耽误您时间,实在对不起!

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-20 01:13:17

[...]是一个字符类。当您说[7-16]时,这意味着“从7到1的字符(无)和字符6”。我会说使用两个表达式:_clip[7-9].trim _clip1[0-6].trim。看起来并不是所有的都在这个范围内,但是如果你有,你可以使用_clip{7..16}.trim

此外,在命令行中,它们是全局变量,而不是正则表达式。这里有一些区别- *表示任何东西或者什么都不是,而不是它前面的任何东西的0+,与?一样(任何东西的零或一,而不是前面的表达式)。

票数 6
EN

Stack Overflow用户

发布于 2013-07-20 01:34:57

使用参数生成器怎么样?

代码语言:javascript
复制
$ echo _clip{1..6}.trim
_clip1.trim _clip2.trim _clip3.trim _clip4.trim _clip5.trim _clip6.trim
$ echo _clip{7..16}.trim
_clip7.trim _clip8.trim _clip9.trim _clip10.trim _clip11.trim _clip12.trim _clip13.trim _clip14.trim _clip15.trim _clip16.trim

这些不是regexpes...bash可以生成的参数:

代码语言:javascript
复制
$ echo x{0..1}_{FOO,BAR}_{x,y}
x0_FOO_x x0_FOO_y x0_BAR_x x0_BAR_y x1_FOO_x x1_FOO_y x1_BAR_x x1_BAR_y
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17751722

复制
相关文章

相似问题

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