正则表达式平时偶尔使用,都是从网上直接搜索借鉴。前天在使用时,发现都忘记了。需要重新学习一下。不管在哪个编程语言里面,用到正则表达式的机会都是比较多的。
正则表达式(Regular Expression)是一种文本模式,包括普通字符(例如,a 到 z 之间的字母)和特殊字符(称为"元字符")。正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。
首先要认识的是一些元字符。这些在匹配是组合使用的。
比如我们一串字符串bcde去识别是否为bc开头的,则可以写为^bc
例如:abcd 确认是不是结束为cd 则cd$
例如:abc ,aabb, aacc 确认c出现的次数 c*
例如:abc ,aabb, aacc 确认c出现的次数 c+
能匹配到的是abc和aacc
例如:abc ,aabb, aacc 确认c出现的次数 c?
能匹配到的是abc
. 代表除换行符之外任何单字符
[ABC] 匹配括号里面所有的字符
[^ABC] 匹配出来ABC的所有字符
[A-Z] 匹配所有大写字符
[a-z] 匹配所有小写字母
[0-9] 匹配数字0-9
\w 匹配字母数字和下划线
求整数 145
^([^0]\d+|(0+))$
如果是多位则判定不是0开头的数字或者直接为0
求负整数 -123
^-[^0]\d+$
先用[^0]
判定不是0开头,然后再判定数字至少出现一次
求数字和字母的组合
^[A-Za-z0-9]+$
求长度为8-10的用户密码(以字母开头数字和下划线)
^[a-zA-Z]\w{7,9}$
以字母开头 ^[a-zA-Z] ,\w表示为字母数字下划线出现7-9次
求是否包含某字符串开头并且开头可能包含空格
^\s*昆山疫情.*$