zoukankan      html  css  js  c++  java
  • 正则表达式重温

    bash Shell本身并不支持正则表达式,使用正则表达式的是Shell命令和工具,如grep,sed,awk等。但是bash Shell可以使用正则表达式中的一些元字符实现通配

    一、基本正则表达式元字符

    1. “*”  表示重复该字符前边字符0次或多次。

    2. “.”   表示任意字符.

    3. “^”  表示该字符后边的字符是行首。

    4. “$”  表示该字符前边的字符是行尾。

    5. “[]”

    • [a-z]      表示小写字母a-z
    • [0-9]  表示数字0-9
    • 若 “^” 在框里边,那么久表示非。
    • [^a-c]   匹配不在a-c范围内的所有字符。

    6. “”  转义字符

    7. “<>”  精确匹配

    • <the>     表示匹配the单词,但是不包阔含有the的单词,如they,there。

    8. “{}”  指定前边字符重复的次数。

    • {n}          匹配前面字符出项 n 次。
    • {n,}         匹配前边字符最少出现 n 次。
    • {n,m}      匹配前边字符出现 n-m 次。

    二、正则表达式的扩展

    1. “?”  匹配?前边字符 0 次或 1 次。

    2.  “+”  匹配前边字符1次或多次(最少也要1次)

    3. “()”和“|”  通常两字符结合使用。表示一组可选的字符的集合。  

    • sjx(a|b|c)zl     只要含有a,b,c任意一个都可以匹配到。
    • 其实()很少用,“[]”可以完全取代“()”,如: sjx(a|b|c)al和sjx[abc]zl就等价。
    • “|”也可以用在在多个正则表达式之间。

    三、通配

    最常用的通配符包括正则表达式元字符,与正则表达式中的表示的意义不完全一致,如;

    • “*”表示任意位的任意字符,可以是多个任意字符。
    • “?”表示1个任意字符。
    • “^”表示取反。

    四、grep命令

     

  • 相关阅读:
    IEnumerable和IQueryable的区别
    最全的ASP.NET MVC路由配置,以后RouteConfig再弄不懂去吃翔
    JSON遍历方法
    将Sublime Text 2搭建成一个好用的IDE
    Linux入门教程
    apache如何配置默认的根目录
    Web移动端Fixed布局的解决方案
    node-创建模块
    关于文字内容溢出用点点点(…)省略号表示
    JavaScript设计模式与开发实践 | this、call和apply
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5571724.html
Copyright © 2011-2022 走看看