呵呵!就可以找出来啦~
11.2.4
基础正规表示法字符汇整
(characters)
经过了上面的几个简单的范例,我们可以½基础的正规表示法特殊字符汇整如下:
RE
字符
意义与范例
^word
意义:待搜寻的字符串
(word)
在行首!
范例:搜寻行首为
#
开始的那一行,并列出行号
grep
-
n '^#' regular_express.txt
word$
意义:待搜寻的字符串
(word)
在行尾!
范例:½行尾为
!
的那一行打印出来,并列出行号
grep
-
n '!$' regular_express.txt
.
意义:代表『一定有一个任意字符』的字符!
范例:搜寻的字符串可以是
(eve) (eae) (eee) (e e)
,
但不能½有
(ee)
!亦即
e
与
e
中间『一定』½有一个字符,而空格符也是字符!
grep
-
n 'e.e' regular_express.txt
\
意义:跳脱字符,½特殊符号的特殊意义去除!
范例:搜寻含有单引号
'
的那一行!
grep
-
n
\
' regular_express.txt
*
意义:重复零个到无穷多个的前一个
RE
字符
范例:找出含有
(es) (ess) (esss)
等等的字符串,注意,因为
*
可以是
0
个,所以
es
也
是符合带搜寻字符串。另外,因为
*
为重复『前一个
RE
字符』的符号,
因此,在
*
之前必须
要½½着一个
RE
字符喔!例如任意字符则为
『
.*
』
!
grep
-
n 'ess*' regular_express.txt
[list]
意义:字符集合的
RE
字符,里面列出想要撷取的字符!
范例:搜寻含有
(gl)
或
(gd)
的那一行,需要特别留意的是,在
[]
当中『½代表一个待搜寻
的字符』,
例如『
a[afl]y
』代表搜寻的字符串可以是
aay, afy, aly
即
[afl]
代表
a
或
f
或
l
的意思!
grep
-
n 'g[ld]' regular_express.txt
[n1
-
n2]
意义:字符集合的
RE
字符,里面列出想要撷取的字符范围!
范例:搜寻含有任意数字的那一行!需特别留意,在字符集合
[]
中的减号
-
是有特殊意义的,
他代表两个字符之间的所有连续字符!但这个连续与否与
ASCII
编码有关,因此,你的编码需要
设定正确
(
在
bash
当中,需要确定
LANG
与
LANGUAGE
的变量是否正确!
)
例如所有大写字
符则为
[A
-
Z]
grep
-
n '[A
-
Z]' regular_express.txt
[^list]
意义:字符集合的
RE
字符,里面列出不要的字符串或范围!
范例:搜寻的字符串可以是
(oog) (ood)
但不能是
(oot)
,那个
^
在
[]
内时,代表的意