- 论坛徽章:
- 1
|
shell基础67:执行顺序(||及&&,{}及())及正则表表达式
原帖由 "網中人" 发表:
再重新思考一下 AAAAAB ??
在我最新的 shell 13 問之 RE 有特別提到這點....
嗯,果然有误!!!
主要差别在有没有边界字符
原帖由 "网中人" 发表:
如:ab{3,5}c 为例, 我们要的 b 是 3 到 5 个
ab{3,5} 这个 RE (少了 c 这个边界字符):可以抓到 abbbbbbbbbbc (a 后有 10 个 b )这串字。
我们要表达的是 a 后接 3 到 5 个 b 即可, 但 3 到 5 个 b 后面我们却没规定是甚么, 因此在 RE 后面可以是任意的文字, 当然包括 b 也可以啦! (明白了吗?)
同样的, 我们用 b{3,5}c 也同样可以抓到 abbbbbbbbbbc 这串字的.
但我们若使用 ab{3,5}c 这样的 RE 时, 由于同时有 a 与 c 这两个边界字符, 那就截然不同了!
而我上面的例子K :A\{2,4\}B,因为A前面没有边界字符,因而可以抓到的A是超过4个的,因此AAAAB,不是完全的,也可能是AAAAAAAAAAAAAAAAB |
|