标签:字符 table 正则表达式 转义 次数 特殊 strong 重复 body
切从最基本的开始。模式,是正则表示式最基本的元素,它们时一组描述
字符串特征的字符。模式可以简单,由普通的字符串组成,也可以复杂,往往用特殊的字符表示一个范围内的字符、重复出现,或表示上下文。
例如:
^love
这个模式包含一个特殊的字符^,表示该模式只匹配那些以love开头的字符串。例如该模式与字符串“lovewe”,与“I love you”不匹配。正如^符号表示开头一样,$符号表示用来匹配哪些以给定模式结尾的字符串。
man$
这个模式与“policeman”匹配,与policy不匹配。字符^和$同时使用时,表示精确匹配(字符串与模式一样)。例如:只匹配字符串“bash”。
^bash$
稍微复杂的字符,如标点符号和白字符(空格、制表符等),要用到转义符。所有的转义序列都用反斜杠(\)打头。制表符的转义序列是:\t。因此如果我们要检测一个字符串是否以制表符开头,可以用模式:
^\t
类似的,用“\n”表示“新行”,“\r”表示“回车”。其他特殊符号,可以用在前面加上反斜杠,如果反斜杠本身用\\表示,句号.用\.表示,以此类推。如图所示
字符簇 |
描述 |
[[:alnum:]] |
字母与数字字符。例如:[[:alnum:]]+ |
[[:alpha:]] |
字母字符(包括大小写字母)。例如:[[:alpha:]]{4} |
[[:blank:]] |
空格与制表符。例如:[[:blank:]]* |
[[:digit:]] |
数字字母。例如:[[:digit:]]? |
[[:lower:]] |
小写字母。例如:[[:lower:]]{5,} |
[[:upper:]] |
大写字母。例如:[[:upper:]]+ |
[[:punct:]] |
标点符号。例如:[[:punct:]] |
[[:space:]] |
包括换行符,回车等在内的所有空白。例如:[[:space:]]+ |
但更多的情况下,可能要匹配一个单词或一组数字。一个单词有若干个字母组成,一组数字有若干个单数组成。跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数
标签:字符 table 正则表达式 转义 次数 特殊 strong 重复 body
原文地址:https://www.cnblogs.com/momenglin/p/11375217.html