基础正则表达式字符总结

基础正则表达式字符总结

正则表达式 (Regular Expression, RE, 或称为常规表示式)是通过一些特殊字元的排列,用以’搜索/替换/删除’一列或多列文字字串, 简单的说,正则表达式就是用在字串的处理上面的一项’表示式’。 正则表达式并不是一个工具程序, 而是一个字串处理的标准依据,如果您想要以正则表达式的方式处理字串,就得要使用支持正则表达式的工具程序才行, 这类的工具程序很多,例如 vi, sed, awk 等等。

基础正则表达式常用命令为搜索命令grep,下面将相关的基础正则表达式的字符含义总结如下,方便查用。

字符意义与范例
^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
\意义:透过 shell 的跳脱字符,将特殊符号的特殊意义去除! 范例:搜索含有单引号 ’ 的那一行。grep -n \’ regular_express.txt
*意义:重复零个到无穷多个的前一个字符。示例:找出含有 (es) (ess) (esss) 等等的字串,注意,因为 * 可以是 0 个,所以 es 也是符合带搜索字串。 另外,因为 * 为重复前一个字符的符号, 因此,在 * 之前必须要紧接着一个字符。grep -n ‘ess*’ regular_express.txt
[list]意义:里面列出想要撷取的字符。范例:搜索aay或afy或aly的字串,在 [] 当中谨代表一个待搜寻的字符, 例如 a[afl]y 代表搜索的字串可以是 aay, afy, aly 即 [afl] 代表 a 或 f 或 l 的意思。grep -n ‘a[afl]y’ regular_express.txt
[n1-n2]意义:里面列出想要撷取的字符范围。范例:搜索含有任意大写字母的那一行。需特别留意,在字符集合 [] 中的减号 - 是有特殊意义的,他代表两个字符之间的所有连续字符,但这个连续与否与 ASCII 编码有关。grep -n ‘[A-Z]’ regular_express.txt
[^list]意义:里面列出不要的字符串或范围。范例:搜索的字串可以是 (oog) (ood) 但不能是 (oot) ,那个 ^ 在 [] 内时,^后面的字符集合代表的意义是反向选择’的意思。grep -n ‘oo[^t]’ regular_express.txt
{n,m}意义:连续 n 到 m 个的前一个字符意义。若为 {n} 则是连续n个的前一个字符。若是 {n,} 则是连续 n 个以上的前一个字符! 范例:在 g 与 g 之间有 2 个到 3 个的 o 存在的字符串,亦即 (goog)(gooog)。grep -n ‘go{2,3}g’ regular_express.txt
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值