关于正则表达式的问题。

2013-10-22 19:06:27 +08:00
 gouera
[0-9]这个区间然后再加上花括号{11},不是表示0-9这10个数出现11次么?

[root@localhost ~]# cat a.txt
121456
1321321
123456
654321
654978
456132
[root@localhost ~]# sed -n '/[0-9]{6}/p' a.txt
[root@localhost ~]#
为什么我这里会匹配不上啊, 明明感觉是对了的啊。
求帮助
2951 次点击
所在节点    Linux
5 条回复
bluntblade
2013-10-22 19:15:06 +08:00
sed -n '/[0-9]\{6\}/p' a.txt
9hills
2013-10-22 19:18:00 +08:00
大括号要转义

sed -n '/[0-9]\{6\}/p' a.txt
foru17
2013-10-22 19:20:17 +08:00
你是要匹配长度为6位的这些数字吧?
^[0-9]{6}$
gouera
2013-10-22 19:26:27 +08:00
@9hills 啊。我懂了,忘记了。 谢谢你啊。
rrfeng
2013-10-22 19:38:10 +08:00
@gouera
或者 sed -r {} 就不需要转义了

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/86489

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX