4、正则表达式

正则表达式是一种描述一组字符串的模式,为处理大量文本、字符串而定义的一套规则和方法,以行为单位进行处理。正则表达式分为两类:基本正则表达式(BRE)和扩展正则表达式(ERE)。在linux中使用正则表达式较多的有三个工具,分别为grep,sed和awk,这三个工具被称为linux文本处理的三剑客。
4.1、正则表达式元字符集

4.2、基本组成部分

\d+ ‘325535’‘1243435’‘1’ \w? ‘’‘5’‘fff’ \w* ‘’‘hgvdhvehjrbj’‘vqwgr443v4v’‘$KaTeX parse error: Expected 'EOF', got '#' at position 1: #̲#q’ [A-Z] [a-z…
^上冒号
4.3、正则表达式使用例子
1、“^\d+ ” / / 非 负 整 数 ( 正 整 数 + 0 ) 2 、 “ [ 0 − 9 ] ∗ [ 1 − 9 ] [ 0 − 9 ] ∗ ” //非负整数(正整数 + 0) 2、“^[0-9]*[1-9][0-9]* //+02[09][19][09]” //正整数
3、“^((-\d+)|(0+)) ” / / 非 正 整 数 ( 负 整 数 + 0 ) 4 、 “ − [ 0 − 9 ] ∗ [ 1 − 9 ] [ 0 − 9 ] ∗ ” //非正整数(负整数 + 0) 4、“^-[0-9]*[1-9][0-9]* //+04[09][19][09]” //负整数
5、“^-?\d+KaTeX parse error: Expected group after '^' at position 13: ” //整数 6、“^̲\d+(\.\d+)?” //非负浮点数(正浮点数 + 0)
7、“^(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9]))KaTeX parse error: Expected 'EOF', got '\d' at position 19: …/正浮点数 8、“^((-\̲d̲+(\.\d+)?)|(0+(…” //非正浮点数(负浮点数 + 0)
9“^(-(([0-9]+.[0-9][1-9][0-9])|([0-9][1-9][0-9].[0-9]+)|([0-9][1-9][0-9])))KaTeX parse error: Expected 'EOF', got '\d' at position 20: …负浮点数 10、“^(-?\̲d̲+)(\.\d+)?” //浮点数
11、“1+ ” / / 由 26 个 英 文 字 母 组 成 的 字 符 串 12 、 “ [ A − Z ] + ” //由26个英文字母组成的字符串 12、“^[A-Z]+ //2612[AZ]+” //由26个英文字母的大写组成的字符串
13、“2+ ” / / 由 26 个 英 文 字 母 的 小 写 组 成 的 字 符 串 14 、 “ [ A − Z a − z 0 − 9 ] + ” //由26个英文字母的小写组成的字符串 14、“^[A-Za-z0-9]+ //2614[AZaz09]+” //由数字和26个英文字母组成的字符串
15、“^\w+KaTeX parse error: Expected 'EOF', got '\d' at position 41: …串 16、^[A-Za-z\̲d̲]+([-_.][A-Za-z… 邮箱
17、“3+://(\w+(-\w+))(.(\w+(-\w+)))(?\S)?KaTeX parse error: Expected 'EOF', got '\d' at position 17: … //url 18、/^(\̲d̲{2}|\d{4})-((0(…/ // 年-月-日
19、/^((0([1-9]{1}))|(1[1|2]))/((0-2)|(3[0|1]))/(d{2}|d{4}) / / / 月 / 日 / 年 20 、 “ ( [ w − . ] + ) @ ( ( [ [ 0 − 9 ] 1 , 3 . [ 0 − 9 ] 1 , 3 . [ 0 − 9 ] 1 , 3 . ) ∣ ( ( [ w − ] + . ) + ) ) ( [ a − z A − Z ] 2 , 4 ∣ [ 0 − 9 ] 1 , 3 ) ( ] ? ) / // 月/日/年 20、“^([w-.]+)@(([[0-9]{1,3}.[0-9]{1,3}.[0-9]{1,3}.)|(([w-]+.)+))([a-zA-Z]{2,4}|[0-9]{1,3})(]?) /////20([w.]+)@(([[09]1,3.[09]1,3.[09]1,3.)(([w]+.)+))([azAZ]2,4[09]1,3)(]?)” //Email
21、/^((+?[0-9]{2,4}-[0-9]{3,4}-)|([0-9]{3,4}-))?([0-9]{7,8})(-[0-9]+)?$/ //电话号码
22、 //IP地址
23、匹配中文字符的正则表达式:
24、匹配双字节字符(包括汉字在内):
25、匹配空行的正则表达式:
26、匹配HTML标记的正则表达式:
27、匹配首尾空格的正则表达式:
28、匹配Email地址的正则表达式:
29、匹配网址URL的正则表达式:
30、匹配帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):
31、匹配国内电话号码:
32、匹配腾讯QQ号:
5.4、文本处理三剑客以及配合正则表达式使用范例以及find
1、grep
Linux系统中grep命令是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹 配的行打印出来。grep全称是Global Regular Expression Print,表示全局正则表达式版本,它的使用权限是所有用户。
2、grep主要参数
[options]主要参数:
-a或–text 不要忽略二进制的数据。
-A<显示列数>或–after-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之后的内容。
-b或–byte-offset 在显示符合范本样式的那一列之前,标示出该列第一个字符的位编号。
-B<显示列数>或–before-context=<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前的内容。
-c或–count 计算符合范本样式的列数。
-C<显示列数>或–context=<显示列数>或-<显示列数> 除了显示符合范本样式的那一列之外,并显示该列之前后的内容。
-d<进行动作>或–directories=<进行动作> 当指定要查找的是目录而非文件时,必须使用这项参数,否则grep指令将回报信息并停止动作。
-e<范本样式>或–regexp=<范本样式> 指定字符串做为查找文件内容的范本样式。
-E或–extended-regexp 将范本样式为延伸的普通表示法来使用。
-f<范本文件>或–file=<范本文件> 指定范本文件,其内容含有一个或多个范本样式,让grep查找符合范本条件的文件内容,格式为每列一个范本样式。
-F或–fixed-regexp 将范本样式视为固定字符串的列表。
-G或–basic-regexp 将范本样式视为普通的表示法来使用。
-h或–no-filename 在显示符合范本样式的那一列之前,不标示该列所属的文件名称。
-H或–with-filename 在显示符合范本样式的那一列之前,表示该列所属的文件名称。
-i或–ignore-case 忽略字符大小写的差别。
-l或–file-with-matches 列出文件内容符合指定的范本样式的文件名称。
-L或–files-without-match 列出文件内容不符合指定的范本样式的文件名称。
-n或–line-number 在显示符合范本样式的那一列之前,标示出该列的列数编号。
-q或–quiet或–silent 不显示任何信息。
-r或–recursive 此参数的效果和指定“-d recurse”参数相同。
-s或–no-messages 不显示错误信息。
-v或–revert-match 反转查找。
-V或–version 显示版本信息。
-w或–word-regexp 只显示全字符合的列。
-x或–line-regexp 只显示全列符合的列。
-y 此参数的效果和指定“-i”参数相同。
–help 在线帮助。


  1. A-Za-z ↩︎

  2. a-z ↩︎

  3. a-zA-z ↩︎

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值