zoukankan      html  css  js  c++  java
  • 正则表达式匹配

    切从最基本的开始。模式,是正则表示式最基本的元素,它们时一组描述

    字符串特征的字符。模式可以简单,由普通的字符串组成,也可以复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。

    例如:

    ^love

    这个模式包含一个特殊的字符^,表示该模式只匹配那些以love开头的字符串。例如该模式与字符串“lovewe”,与“I love you”不匹配。正如^符号表示开头一样,$符号表示用来匹配哪些以给定模式结尾的字符串。

    man$

    这个模式与“policeman”匹配,与policy不匹配。字符^和$同时使用时,表示精确匹配(字符串与模式一样)。例如:只匹配字符串“bash”。

    ^bash$

    稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义符。所有的转义序列都用反斜杠()打头。制表符的转义序列是: 。因此如果我们要检测一个字符串是否以制表符开头,可以用模式:

    ^

    类似的,用“ ”表示“新行”,“ ”表示“回车”。其他特殊符号,可以用在前面加上反斜杠,如果反斜杠本身用\表示,句号.用.表示,以此类推。如图所示

    字符簇

    描述

    [[:alnum:]]

    字母与数字字符。例如:[[:alnum:]]+

    [[:alpha:]]

    字母字符(包括大小写字母)。例如:[[:alpha:]]{4}

    [[:blank:]]

    空格与制表符。例如:[[:blank:]]*

    [[:digit:]]

    数字字母。例如:[[:digit:]]?

    [[:lower:]]

    小写字母。例如:[[:lower:]]{5,}

    [[:upper:]]

    大写字母。例如:[[:upper:]]+

    [[:punct:]]

    标点符号。例如:[[:punct:]]

    [[:space:]]

    包括换行符,回车等在内的所有空白。例如:[[:space:]]+

    但更多的情况下,可能要匹配一个单词或一组数字。一个单词有若干个字母组成,一组数字有若干个单数组成。跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数

  • 相关阅读:
    线程共享全局变量和私有全局变量
    线程退出前操作
    Linux下线程pid和tid
    几种常见的光纤接头(ST,SC,LC,FC)以及PC、APC和UPC的区别
    Javascript对象及数组用法笔记
    Javascript对象及数组用法笔记
    程序员特有的9个坏习惯
    程序员特有的9个坏习惯
    程序人生:真正的效率源自专注
    程序人生:真正的效率源自专注
  • 原文地址:https://www.cnblogs.com/momenglin/p/11375217.html
Copyright © 2011-2022 走看看