正则表达式

Posted xujint

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了正则表达式相关的知识,希望对你有一定的参考价值。

常用符号

.      表示任意单个字符。
*      表示前面的字符连续出现任意次,包括0次。
.*     表示任意长度的任意字符,与通配符中的*的意思相同。
      表示转义符,当与正则表达式中的符号结合时表示符号本身。
|      表示"或者"之意
[  ]   表示匹配指定范围内的任意单个字符。
[^  ] 表示匹配指定范围外的任意单个字符。

单个字符匹配相关

[0-9]   表示0到9之间的任意单个数字(包括0和9)
[a-z]   表示任意小写字母。
[A-Z]   表示任意大写字母。
[a-zA-Z]   表示任意大小写字母。
[a-zA-Z0-9]  表示任意数字或字母。 
[^0-9]     表示单个非数字字符。
[^a-z]     表示单个非小写字母字符。
[^A-Z]    表示单个非大写字母字符。
[^a-zA-Z]  表示单个非字母字符。
[^a-zA-Z0-9]   表示单个非数字非字母字符。

次数匹配相关

?  表示匹配其前面的字符0或1次
+  表示匹配其前面的字符至少1次,或者连续多次,连续次数上不封顶。
{n} 表示前面的字符连续出现n次
{x,y} 表示之前的字符至少连续出现x次,最多连续出现y次
{,n} 表示之前的字符连续出现至多n次,最少0次
{n,}表示之前的字符连续出现至少n次

位置边界匹配相关

^              --表示匹配行首
$                --表示匹配行尾
^$             --表示匹配空行,这里所描述的空行表示"回车"
^abc$      --abc独占一行时,会被匹配到。
<或     --匹配单词边界,表示锚定词首,其后面的字符必须作为单词首部出现。
>或     --匹配单词边界,表示锚定词尾,其前面的字符必须作为单词尾部出现。
B           --匹配非单词边界,与正好相反。

分组与后向引用

( ) 表示分组,我们可以将其中的内容当做一个整体,分组可以嵌套。
(ab) 表示将ab当做一个整体去处理。

正则表达式在线测试工具

以上是关于正则表达式的主要内容,如果未能解决你的问题,请参考以下文章

markdown 正则表达式模式片段

正则表达式匹配特定的 URL 片段而不是所有其他 URL 可能性

循环通过 python 正则表达式匹配

asp.net 使用正则表达式验证包含打开/关闭括号片段的属性字符串

攻破难啃的骨头-正则表达式(转)

正则表达式的贪婪和非贪婪模式