zoukankan      html  css  js  c++  java
  • 017-linux正则表达式

    一、单字符表示:
    1、特定字符:某个具体的字符.
    '1'
    'a'
    '.'
    2、范围内单个字符:单个字符[]
    [0-9]
    [259]
    [a-z]
    [abc]
    [A-Z]
    [ABC]
    [a-zA-Z]
    [,:/]
    [.]
    字符取反:
    [^0-9]
    [^123]
    3、任意字符:
    . 该字符具有特定含义
    grep '.' /etc/passwd
    4、边界字符:头尾字符
    头: grep '^root' /etc/passwd
    尾:grep 'false$' /etc/passwd
    空行:^$
    5、元字符:
    字类字符:[a-zA-Z0-9_]=大小写字母+数字+下划线='w'
    grep 'w' /etc/passwd
    非字类字符:'W'
    grep 'W' /etc/passwd
    单词分隔符:''
    grep 'x' /etc/passwd 表示x的前面和后面都是非单词的字母
    二、字符串表示:一串字符的组合
    'root'
    '1000'
    'm..c' 其中单个.表示一个字符
    '[A-Z][a-z]'
    '[0-9][0-9]'
    重复:* + ?
    *:表示0次或多次匹配前面的字符或表达式
    +:表示1次或多次匹配前面的字符或表达式
    ?:表示0次或1次匹配前面的字符或表达式
    {m,n}:重复特定次数:m~n次
    grep 'se*' /etc/passwd -->s se see ....
    grep 'se+' /etc/passwd -->se see seee ...
    grep 'se?' /etc/passwd -->s se

    grep '(se)*' /etc/passwd --> 空行 其他行 se sese ....
    grep '(se)+' /etc/passwd -->se sese sesese ...
    grep '(se)?' /etc/passwd -->空行 其他行 se
    逻辑: |
    三、任意字符串: .*
    ^r.* r开头的字符串
    grep '^r.*' /etc/passwd
    比较区别:
    grep 'm..c' /etc/passwd
    grep 'm.*c' /etc/passwd

  • 相关阅读:
    leetcode Super Ugly Number
    leetcode Find Median from Data Stream
    leetcode Remove Invalid Parentheses
    leetcode Range Sum Query
    leetcode Range Sum Query
    leetcode Minimum Height Trees
    hdu 3836 Equivalent Sets
    hdu 1269 迷宫城堡
    hud 2586 How far away ?
    poj 1330 Nearest Common Ancestors
  • 原文地址:https://www.cnblogs.com/igoodful/p/9061505.html
Copyright © 2011-2022 走看看