LinuxSir.cn,穿越时空的Linuxsir!

 找回密码
 注册
搜索
热搜: shell linux mysql
查看: 1560|回复: 15

请教有关正则表达式

[复制链接]
发表于 2003-9-13 12:58:17 | 显示全部楼层 |阅读模式
请教正则表达式b[cq]*e与 bbbeee 是否匹配
根据ibm的教材说是匹配的,这个可怎么看啊?
本人快要考试了。没有人回贴,只好问斑竹了。多谢!
发表于 2003-9-13 13:03:33 | 显示全部楼层
*是代表匹配前面的内容0次或者多次
所以这个表达式实际和bbbeee匹配
发表于 2003-9-13 13:10:16 | 显示全部楼层
如果是匹配前面的内容,那c或q到什么地方去了?而且前面也没有e,为什么后面的e会出现多次?
 楼主| 发表于 2003-9-13 13:31:50 | 显示全部楼层
就是阿 ,我怎么 也搞不懂。以下是原文:

    * ab*c(与 abbbbc 匹配但不与 abqc 匹配)
    * ab*c(与 abc 匹配但不与 abbqbbc 匹配)
    * ab*c(与 ac 匹配但不与 cba 匹配)
    * b[cq]*e(与 bqe 匹配但不与 eb 匹配)
    * b[cq]*e(与 bccqqe 匹配但不与 bccc 匹配)
    * b[cq]*e(与 bqqcce 匹配但不与 cqe 匹配)
    * b[cq]*e(与 bbbeee 匹配)
    * .*(与任何字符串匹配)
    * foo.*(与以 foo 开始的任何字符串相匹配)
 楼主| 发表于 2003-9-13 13:35:57 | 显示全部楼层
penny 说的也有道理。 是和里面的be匹配。 我试了一下,用

cat b[cq]* e

是找不到 bbbeee文件的。
发表于 2003-9-13 17:43:08 | 显示全部楼层
这是我的实验:
[/home/javalee]ls b*e
bbbeee  bceeee  bdeeee  bqeeee
[/home/javalee]ls b*e|grep "b[cq]*e"
bbbeee
bceeee
bqeeee
[/home/javalee]ls b[cq]*e
bceeee  bqeeee
发表于 2003-9-13 19:52:31 | 显示全部楼层
最初由 arkira 发表
penny 说的也有道理。 是和里面的be匹配。 我试了一下,用

cat b[cq]* e

是找不到 bbbeee文件的。


shell里面的匹配和grep/sed里面用的reg exp是不一样的
 楼主| 发表于 2003-9-13 19:54:34 | 显示全部楼层
确实是这样的。就是想不通。
grep 后面的模式不加" " 好像也可以的。
 楼主| 发表于 2003-9-13 19:55:49 | 显示全部楼层
shell 里用的是glob 是吧? 很容易搞混!
发表于 2003-9-13 21:13:20 | 显示全部楼层
最初由 arkira 发表
shell 里用的是glob 是吧? 很容易搞混!

跟这有关系吗?!
不过penny兄说得对,shell里的正则跟grep里的正则是不一样的!
您需要登录后才可以回帖 登录 | 注册

本版积分规则

快速回复 返回顶部 返回列表