目录正则表达式是什么元字符贪婪匹配、非贪婪匹配和独占模式分组和引用四种匹配模式断言常用正则Demo正则表达式是什么 校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操
校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。
1.特殊字符串
\D \W \S,意思正相反。
2.空白符
3.量词
4.范围
ab|bc
代表ab或bcxy{1,3}+yz
注意: python 和 Go 的标准库目前都不支持独占模式。
(“.+?”)|\w{2,6}
如图所示的正则,将日期和时间都括号括起来。这个正则中一共有两个分组,日期是第 1 个,时间是第 2 个。
1.不保存子组
分组的作用就是后续可能还会被引用到,但是如果不需要引用的时候可以添加不保存子组,表达式(?:xxx)
,优点是正则性能会更好,在子组计数时也更不容易出错。
2.括号嵌套
1.不区分大小写模式(Case-Insensitive)
不区分大小写模式,正则表达式(?i)cat
,这样匹配的字符就不区分大小写了
如果我们想要前面匹配上的结果,和第二次重复时的大小写一致,那该怎么做呢?我们只需要用括号把修饰符和正则 cat 部分括起来,加括号相当于作用范围的限定,让不区分大小写只作用于这个括号里的内容。正则表达式((?i)cat)
2.点号通配模式(Dot All)
元字符里讲.
可以匹配除了换行以外的任何元素,用单行模式中使用.
,正则表示式(?s).
3.多行匹配模式
多行模式的表达式(?m)^...|...$
,这样的匹配好处是每一行
4.注释模式
略...
断言是指对匹配到的文本位置有要求。
1.单词边界
在准确匹配单词时,我们使用 \b...\b
就可以实现了,也可以指定表达式的开头和结尾^...$
2.环视
环视的主要是定义清晰的边界。
(?<=Y)
,左边是Y(?<=!Y)
,左边不是Y(?=Y)
,右边是Y(?!Y)
,右边不是Y左尖括号代表看左边,没有尖括号是看右边,感叹号是非的意思。
正则表达式用于字符串处理、表单验证等场合,实用高效。现将一些常用的表达式收集于此,以备不时之需。
[u4e00-u9fa5]
[^x00-xff]
<(S*?)[^>]*>.*?|<.*? />
^s*|s*$
w+([-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*
[a-zA-z]+://[^s]*
^[a-zA-Z][a-zA-Z0-9_]{4,15}$
d{3}-d{8}|d{4}-d{7}
( 匹配形式如 0511-4405222 或 021-87888822)[1-9]d{5}(?!d)
d{15}|d{18}
2.匹配特定数字:
^[1-9]d*$
^-[1-9]d*$
^-?[1-9]d*$
^[1-9]d*|0$
^-[1-9]d*|0$
^[1-9]d*.d*|0.d*[1-9]d*$
^-([1-9]d*.d*|0.d*[1-9]d*)$
^-?([1-9]d*.d*|0.d*[1-9]d*|0?.0+|0)$
^[1-9]d*.d*|0.d*[1-9]d*|0?.0+|0$
^(-([1-9]d*.d*|0.d*[1-9]d*))|0?.0+|0$
3.匹配特定字符串:
^[A-Za-z]+$
^[A-Z]+$
^[a-z]+$
^[A-Za-z0-9]+$
^w+$
^[0-9]*$
^d{n}$
^d{n,}$
^d{m,n}$
^(0|[1-9][0-9]*)$
^[0-9]+(.[0-9]{2})?$
^[0-9]+(.[0-9]{1,3})?$
^+?[1-9][0-9]*$
^-[1-9][0-9]*$
^.{3}$
^[A-Za-z]+$
^[A-Z]+$
^[a-z]+$
^[A-Za-z0-9]+$
^w+$
^[a-zA-Z]w{5,17}$
正确格式为:以字母开头,长度在6-18之间,^[u4e00-u9fa5],{0,}$
^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
^Http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
^((d{3,4})|d{3,4}-)?d{7,8}$
--结束END--
本文标题: 正则表达式基础学习一文入门
本文链接: https://www.lsjlt.com/news/201071.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-03-01
2024-03-01
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0