Linux正则表达式-定位元字符

有两个元字符用于指定字符串出现在行首或行末。脱字符(^)是指示开始的单字符正则表达式。美元符号($)是指示行结尾的单字符的正则表达式。这些通常称为"定位符",因为它们将匹配限定在特定位置。例如,可以使用以下表达式打印以First开始的行:

^First

没有^元字符,这个表达式将打印包含First的任意行。

通常,使用VI输入要由troff处理的文本,并且不想让空格出现在行的结尾。如果想找到(并删除)它们,下面的正则表达式可以匹配在结尾处有一个或多个空格的行:

□□*$

Troff请求和宏必须在行的开始处输入。它们是两个字符的字符串,前面带有一个句点。如果请求或宏有一个参数,那么它通常后面跟有一个空格。用于搜索这样的请求的正则表达式是:

^\...□

这个表达式匹配"行首有一个句点,随后跟有两个字符的字符串,然后是一个空格的行"。

可以使用两个连续的定位元字符来匹配空行,即:^$

可以使用这种模式计算文件中的空行数,在grep中使用计数选项-c:

$ grep -c ‘^$‘ ch04

5

如果想使用sed来删除空行,那么这个正则表达式很有用。下面的正则表达式可用于匹配空行,即使其中包含空格:

^□*$

同样,可以使用以下表达式匹配整个行:^.*$

在sed(和grep) 中,只有当"^"和"$"分别出现在正则表达式的开始或结尾时才是特殊的。因此"^abc"意味着"匹配只处于行的开始处的字母a、b和c" ,而"ab^c" 意味着"匹配处于行的任意位置的a、b、字符^,然后是c"。这对于"$"同样使用。

在awk中则不同, "^"和"$"总是特殊的,即使它们可能使编写的正则表达式不匹配任何东西。可以说,在awk中,当想要匹配字符"^"或"$"时,不管它处于正则表达式的什么位置都应该用反斜杠对其进行转义。

参考资料:http://www.linuxawk.com/communication/441.html

时间: 2024-11-09 02:29:46

Linux正则表达式-定位元字符的相关文章

Linux正則表達式-定位元字符

有两个元字符用于指定字符串出如今行首或行末.脱字符(^)是指示開始的单字符正則表達式.美元符号($)是指示行结尾的单字符的正則表達式.这些通常称为"定位符",由于它们将匹配限定在特定位置.比如,能够使用下面表达式打印以First開始的行: ^First 没有^元字符.这个表达式将打印包括First的随意行. 通常.使用VI输入要由troff处理的文本,而且不想让空格出如今行的结尾.假设想找到(并删除)它们,以下的正則表達式能够匹配在结尾处有一个或多个空格的行: □□*$ Troff请求

常用的操作正则表达式的方法+正则表达式基本元字符使用实例

常用的操作正则表达式的方法: 下面学习一下位于System.Text.RegularExpressions下的Regex类的一些静态方法和委托(只要有一段匹配就会返回true) 1,静态方法IsMatch (返回值是一个布尔类型,用于判断指定的字符串是否与正则表达式字符串匹配,它有三个重载方法) bool IsMatch(string input, string pattern); 参数: input: 要搜索匹配项的字符串. pattern: 要匹配的正则表达式模式. 返回结果: 如果正则表达

Linux正则表达式grep与egrep

Linux正则表达式grep与egrep 正则表达式:它是指一个用来描述或者匹配一系列符合某个句法规则的字符串的单个字符串.在很多文本编辑器或其他工具里,正则表达式通常被用来检索或替换那些符合某个模式的文本内容.其实正则表达式,只是一种思想,一种表示方法.只要我们使用的工具支持表示这种思想那么这个工具就可以处理正则表达式的字符串.常用的工具有grep, sed, awk,这三个都是针对文本的行才操作的. grep  过滤器语法: grep  [-cinvABC]  'word'  filenam

正则表达式的元字符

利用Perl正则表达式还可以做另一件有用的事情,这就是使用各种元字符来搜索匹配.所谓元字符,就是用于构建正则表达式的具有特殊含义的字符,例如的“*”.“+”.“?”等.在一个正则表达式中,元字符不能单独出现,它必须是用来修饰原子的.如果要在正则表达式中包含元字符本身,使其失去特殊的含义,则必须在前面加上“\”进行转义.正则表达式的元字符如下表所示. 构造正则表达式的方法和创建数学表达式的方法相似,就是用多种元素符与操作符将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.

糯米丸&“坑叫兽”之正则表达式及元字符使用  

在介绍正则表达式之前,我们先普及一下,Linux系统下三大文本搜索工具grep.sed.awk.它们各自的作用如下: grep:grep(支持正则表达式) egrep(支持扩展表达式), fgrep(快捷搜索不支持正则表达      式):文本搜索工具:基于一组筛选条件对给定文本进行搜索操作: sed:Stream EDitor,流编辑器,行编辑工具:文本编辑工具:(本质是编辑器) awk:GNU awk,文本格式化工具:文本报告生成器:(文本美化器,可以理解为文字版的美图秀秀)  正则表达式:

  linux正则表达式解析

Linux 正则表达式解析 一.Linux文本搜索工具 Linux的文本搜索工具主要有grep,egrep,fgrep.其中grep支持基本和扩展的正则表达式的搜索.egrep支持扩展的正则表达式.fgrep不支持正则表达式的搜索,但是它的搜索速度比较快.这里我们具体探讨一下grep和egrep使用方法. 1.1grep用法 grep [OPTIONS] PATTERN [FILE...] --color={never,auto,always}:是否对搜索到字符串做颜色处理. -o :只显示被模

Linux正则表达式及扩展表达式、egrep命令的说明(8月27日作业练习)

1.总结本此课程中所涉及命令的使用方法及相关示例展示: 权限管理:           权限管理: chmod            所属关系管理: chown, chgrp            文件遮罩码:umask 修改文件权限:chmod          chmod [OPTION]... MODE[,MODE]... FILE...           chmod [OPTION]... OCTAL-MODE FILE...           chmod [OPTION]... -

菜鸟的成长记录--linux正则表达式及grep

正则表达式 是一类字符所书写的模式,其中许多字符不表示其字面意义,而是表达控制或通配等功能:正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 元字符:不表示其字面意义,而用于额外功能性描述,下面是常用的元字符列表 符号 含义 . 表示匹配任意单个字符,例a.,匹配ab.ac.ad.ax * 表示它前面的字符可以出现任意次,例a*b,匹配aab.b.ab \? 表示它前面的字符可有可无,例a\?b,匹配a

正则表达式:元字符(基本可用来匹配的字符)

# 1: 匹配单个字符与数字 . 匹配除换行符以外的任意字符 [0123456789] 是字符集合,表示匹配方括号中所包含的任意一个字符 如[Mia] 匹配'M','i','a'中任意一个字符 [a-z] 匹配任意小写字母 [A-Z] 匹配任意大写字母 [0-9] 匹配任意数字,类似[0123456789] [0-9a-zA-z] 匹配任意的数字和字母,(不分大小写)(不能加空格,否则也匹配空格) [[0-9a-zA-z_] 匹配任意的数字.字母和下划线 [^Mia] 匹配除了'M','i','