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命令

     

  • 相关阅读:
    Java小案例——对字符串进行加密解密
    Java基础——使用三元运算符判断一个数的奇偶性
    Java基础——字母大小写转换
    多线程实现——新龟兔赛跑
    编程面试题之——简答题(持续更新...)
    多线程之——共享数据
    多线程之——线程的状态
    Android 8.0 Oreo介绍
    Android 7.0 Nougat介绍
    Android 6.0 Marshmallow介绍
  • 原文地址:https://www.cnblogs.com/sjxbg/p/5571724.html
Copyright © 2011-2022 走看看