【编程通识】正则表达式

  正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑,常被用来检索、替换那些符合某个模式(规则)的文本。
 

入门

输入code即可匹配所有包含code的字符串

字符串[ ]允许匹配其内任一字符,例: [Ab3] 允许匹配 A 或 b 或 3

连字符-代表区间,例:[0-9]允许匹配任何数字、[a-zA-Z]允许匹配任何小写或大写字母

转义符\用于匹配 [、] 、- 、(、) 等特殊字符

取反符^用于匹配不符合字符组描述的数据,例:[^0-9]允许匹配任何非数字字符;[^a]匹配任何不是a的字符

取或符|用于匹配符合其左边、右边任一条件的字符(串)

快捷方式

\w允许匹配任意字母、数字、下划线

\d允许匹配任意数字

\s允许匹配空格、tab、换行

\b允许匹配单词、数字边界,例:\blow\b 匹配 low-er、low.er,不匹配单词 lower;\b\d\b匹配1、2,不匹配12

快捷方式取反大写即可,例:\D匹配所有非数字字符、\W匹配所有特殊字符

^指定的是一个字符串的开始,例:^a匹配所有以a开头的字符串

$指定的是一个字符串的结束,例:a$匹配所有以a结束的字符串

.允许匹配除换行符外的任意字符,且只能在 [ ]以外使用

?表示前边字符、字符组或其他基本单元可出现或不出现,例:[a-z]?1匹配小写字母+1或单独一个1;.?匹配任意字符

匹配多个数据

{N}连续匹配N次,例:code{N}匹配连续出现N次code的字符串

{M,N}连续匹配M~N次,优先匹配连续出现N次的(贪婪)

{M,N}?连续匹配M~N次,优先匹配连续出现M次的(懒惰)

{M,}连续匹配大于等于M次

+连续匹配大于等于1次,相当于{1,},例:f.+匹配以f开头的字符串

+?连续匹配大于等于1次,优先匹配出现次数少的(懒惰)

\* 连续匹配大于等于0次,相当于{0,},例:^http.*/$匹配以http开头且以/结尾的任意字符串

连续匹配大于等于0次,优先匹配出现次数少的(懒惰)

()括号内为子表达式,视为匹配的基本单元

练习网站测试网站

猜你喜欢

转载自blog.csdn.net/qq_45753394/article/details/119897798