- 论坛徽章:
- 1
|
请教一个弱智问题,在线。。
此外,再補充一下:
1) shell meta 與 Regular Expression 的 meta 是不同層次的。
本例而言,在 command line 中的 meta 已全被 hard quoe (單引號)全關閉了,因此 RE 中的 meta 再用 escape charactor (反斜線)來關...
2) RE 的基本元數是由 Char_Set 與 Modifier 構成。
在 char_set 部份,( ) 可以作集合之用。如:
abc 是三個 char_set ,分別為 a, b, c
a(bc) 是兩個 char_set ,分別為 a, bc
(abc) 是一個 char_set ,只有 abc
而 modifier 本身的存在是沒甚麼意思的,只是用來修改其"左邊最後一個"char_set 。
常用 modifier 如下:
* : 0 or more
? : 0 or one
+ : one or more
{m,n} : m to n
換而言之:
abc* 是修改 c ,也就是 c 可以為 0 或多個...
a(bc)* 是修改 bc ,也就是 bc 可以為 0 或多個...
(abc)* 是修改 abc ,也就是 abc 可以為 0 或多個...
換作其它 modifer 亦同解...
p.s.
本來,這原本是我要在 shell 十三問的最後的附加題要跟大家講的內容,
只是,我希望有其他對 RE 更了解的同好出來說明更好... ^_^ |
|