900字范文,内容丰富有趣,生活中的好帮手!
900字范文 > 还不会写正则表达式?读懂这些规则 原来这么简单

还不会写正则表达式?读懂这些规则 原来这么简单

时间:2021-01-17 15:21:40

相关推荐

还不会写正则表达式?读懂这些规则 原来这么简单

正则表达式可以说是一个开发者利器,但里面的各种符号又看似没有规律可循,完全摸不着头脑,今天老王就带你找找规律。

其实当你真正了解下来之后,无外乎就那么几个相关字符,不难记也不难懂。要说难就难在组合一起起来之后,乍一看一脸懵逼,这写的什么玩意儿!仔细看下来,拆开看,你就能发现其中的规律及奥妙了。

正则元字符

元字符是表示其在正则表达式上下文中的行为,下面介绍常用的元字符以及作用

"^":匹配输入字符串的开始位置"$":匹配输入字符串的结束位置"*":匹配前面的子表达式零次或多次。例如,zo* 能匹配 "z" 以及 "zoo"。* 等价于{0,}。 "+":匹配前面的子表达式一次或多次。例如,zo+ 能匹配 "zo" 以及 "zoo",但不能匹配 "z"。+ 等价于 {1,}。 "?":匹配前面的子表达式零次或一次。例如,"do(es)?" 可以匹配 "do" 或 "does" 。? 等价于 {0,1}。"\":将下一个字符标记为一个特殊字符、或一个原义字符、或一个 向后引用、或一个八进制转义符"\b" :匹配一个单词边界,也就是指单词和空格间的位置"\d": 匹配一个数字字符。等价于 [0-9]"\D":匹配一个非数字字符。等价于 [^0-9]"\f": 匹配一个换页符。等价于 \x0c 和 \cL"\n": 匹配一个换行符。等价于 \x0a 和 \cJ "\r ":匹配一个回车符。等价于 \x0d 和 \cM"\w":匹配字母,数字,下划线

正则反义

反义的写法最简单,把字母改成大写就可以了,意思与原来的相反,比如

"\B":匹配不是单词开头或结束的位置"\S":匹配任意不是空白符的字符"\W" :匹配任意不是字母,数字,下划线 的字符"\D":匹配任意非数字的字符"[^abc]" :匹配除了abc以外的任意字符

正则量词

量词记住三个就行了:贪婪(*)、懒惰/勉强(?)、占有(+)

“*”,重复零次或更多,字符会首先会尽可能多的匹配整个字符串,如果失败,则回退一个字符,例如“a*”会匹配a后面的所有的a "?" ,重复零次或一次, 是从目标的起始位置开始尝试匹配,每次检查一个字符并且判断是否是要找的字符,直到字符串结尾处,例如:"bbbbbb" 匹配字符串中的b 正则 : "b?" 只会匹配一次,也就是结果只是单个字符b"+" ,重复一次或更多次,它会覆盖整个目标字符串,然后尝试寻找匹配内容 ,但它只尝试一次,例如:"cccccc" 匹配字符串中所有的c 正则: "c+" 会取到字符中所有的c字符

正所谓擒贼先擒王,授人以鱼不如授人以渔,看完以上关于正则表达式的规则,你有没有一种似曾相识,豁然开朗的感觉呢?欢迎留言评论探讨更多关于正则表达式的问题。

我是隔壁老王,爱编程爱学习,喜欢我的文章请关注分享,满满干货!

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。