常用正则表达式

正则表达式 : 处理字符串的一种方法。

下面是我总结出来的几个必须牢记的要点。

1. 以行为单位进行处理。

2.正则表达式与通配符完全不同(如果你以前了解通配符,请在学习正则时,完全忘记它们!!)

说在前面:使用正则时,语系会对结果产生很大的影响,如果你的结果与他人的不同时,请检查语系是否正确。

常用基础正则表达式:

1.[:alnum:] 代表 0-9,a-z,A-Z
2.[:alpha:] a-z,A-Z
3.[:upper:] A-Z
4.[:lower:] a-z
5.[:digit:] 0-9
以上据鸟哥所言,很重要,但我目前很少用到。

正则字符 意义
^word 查找字符位于行首
word$ 查找字符位于行尾
.(没错就是一个点) 一定有一个任意字符
转义字符,转义特殊符号
* 重复前一个字符0~~无穷多次
+ 重复前一个字符1~~无穷多次
重复前一个字符0~~1次
[list] 取括号里面任意一个字符
( ) 找出一组字符串
[n1-n2] 所选取的字符范围
[^list] 中括号中的^代表反向选择
{n,m} 连续重复n到m次前一字符
{n} 连续重复n 次前一字符
{n,} 连续重复n~~无穷次前一字符
| C语言中的或

注意:

1.[ ]中不管有几个字符,它一定表示的是其中任意一个字符。

2.^ 在[ ]外面为定位在行首,在[ ]里面为反向选择。

3.关于 *,+,? 一定要深刻理解到底是如何重复的。

4. ^$ 代表空白行

5. .* 代表0个或多个任意字符

6.()的举例:egrep -n ‘g(la|oo)d’ test.txt;即找出glad或者是good

7.想要熟悉正则表达式,更多的是运用。如:编写脚本去处理日志文件的分析,过滤web内容等。

写在最后:下一篇将结合linux 三剑客命令(grep ,sed, awk)来熟悉正则表达式.

原文地址:https://www.cnblogs.com/Tattoo-Welkin/p/10335347.html