校验数据的有效性、查找符合要求的文本以及对文本进行切割和替换等操作。
正则表达式的目的是真正的强大之处就在于可以查找符合某个规则的文本。
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)^...|...$
,这样的匹配好处是每一行
断言是指对匹配到的文本位置有要求。
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之间,[^%&'',;=?$x22]+
^[u4e00-u9fa5],{0,}$
^w+[-+.]w+)*@w+([-.]w+)*.w+([-.]w+)*$
^http://([w-]+.)+[w-]+(/[w-./?%&=]*)?$
^((d{3,4})|d{3,4}-)?d{7,8}$
19624 陈以坤
19623 林军
19622 吴国华
19621 廖嘉博
19620 郭冠良
19602 陈顺乔
19601 何雨桐
19600 钟力恒
19599 林嘉愉
19598 黎新茂
以下面的数字为例,只保留第一列中的ID,正则表达式,括号是分组,想保留那组就保留\$n
FInd : ([0-9]{1,5})\s([\u3400-\u4DBF\u4E00-\u9FFF\uF900-\uFAFF]{1,3})
Replace: $2
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。