2023年6月10日星期六

正则表达式

正则表达式

练习正则表达式

限定符

? : 限定符,在问号前面的字符出现1次或0次,可有可无

  • : 0个或多个次数
  • : 一次以上的字符,如果多次ab{6}c:指定出现6次。范围ab{2-6}c:2到6次闭区间,{2,}可省导致左闭右开

以上限定符对象只有一个字符,如果要多个字符重复,则将(ab)打个括号,之后再添加限定符

或运算符

a (dog|cat)要么是cat要么是dog,括号必不可恕,否则a dog 或 cat

字符类

[a-z] [a-z0-9] ^0-9

Baozi I love baOzI 0615Today

元字符

预定好了常见字符类型如数字空白符
以反斜杠开头

元字符 含义
\d 数字字符
\w 英文字符数字下划线
\s 空白符tab和换行符
\D 非数字字符,
\W 非单词字符
\S 非空白字符
\b 匹配单词的开始和接受
\B 非单词的边界 符号与符号 单词与单词的边界
. 任意字符,但不包含换行符
^ ^sc 匹配行首
$ er$匹配行尾

贪婪与懒惰匹配

This is a sample
想要匹配html标签,<.+>,但会匹配整个段落,因为.+会尽量匹配尽可能多的字符
<.+?>将贪婪匹配切换为懒惰匹配

示例

匹配16进制RGB

#[a-fA-F0-9]{6}\b

匹配ip地址

要求4位,每一位最大255

\b((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)\b

0 评论:

发表评论