zoukankan      html  css  js  c++  java
  • Linux正則表達式-定位元字符

    有两个元字符用于指定字符串出如今行首或行末。脱字符(^)是指示開始的单字符正則表達式。美元符号($)是指示行结尾的单字符的正則表達式。这些通常称为"定位符",由于它们将匹配限定在特定位置。比如,能够使用下面表达式打印以First開始的行:
    ^First
    没有^元字符。这个表达式将打印包括First的随意行。

    通常。使用VI输入要由troff处理的文本,而且不想让空格出如今行的结尾。假设想找到(并删除)它们,以下的正則表達式能够匹配在结尾处有一个或多个空格的行:
    □□*$

    Troff请求和宏必须在行的開始处输入。它们是两个字符的字符串。前面带有一个句点。

    假设请求或宏有一个參数。那么它通常后面跟有一个空格。用于搜索这种请求的正則表達式是:
    ^...□

    这个表达式匹配"行首有一个句点,随后跟有两个字符的字符串,然后是一个空格的行"。
    能够使用两个连续的定位元字符来匹配空行,即:^$

    能够使用这样的模式计算文件里的空行数,在grep中使用计数选项-c:

    $ grep -'^$' ch04
    5

    假设想使用sed来删除空行。那么这个正則表達式非常实用。

    以下的正則表達式可用于匹配空行,即使当中包括空格:
    ^□*$

    相同。能够使用下面表达式匹配整个行:^.*$

    在sed(和grep) 中,仅仅有当"^"和"$"分别出如今正則表達式的開始或结尾时才是特殊的。

    因此"^abc"意味着"匹配仅仅处于行的開始处的字母a、b和c" ,而"ab^c" 意味着"匹配处于行的任何位置的a、b、字符^,然后是c"。

    这对于"$"相同使用。

    在awk中则不同。 "^"和"$"总是特殊的。即使它们可能使编写的正則表達式不匹配不论什么东西。

    能够说,在awk中,当想要匹配字符"^"或"$"时,无论它处于正則表達式的什么位置都应该用反斜杠对其进行转义。

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

  • 相关阅读:
    idhttp post 上传或下载时显示进度条(对接idhttp1.OnWork事件)
    DBGridEh列宽自动适应内容的简单方法
    好的python链接
    Git安装和使用
    Git及码云学习总结
    创建编写博客园写博客
    Git和Github的使用
    sql sever 两数据表差异比较EXCEPT、INTERSECT
    Vue学习(七)capture模式
    Vue学习(六)计算属性和侦听属性的区别以及应用场景
  • 原文地址:https://www.cnblogs.com/llguanli/p/7126230.html
Copyright © 2011-2022 走看看