首页 正则表达式的常用语法规则
文章
取消

正则表达式的常用语法规则

什么是正则表达式?

其实正则表达式就是描述一类字符串的特征,通过这个特征与特定函数配合使用,对其他的字符串进行匹配、查找、替换、分割等操作的逻辑公式!

我们什么时候使用正则表达式呢?

在编程中,不是所有的字符操作都使用正则表达式,只有当我们遇到复杂字符串的时候,才会用到正则表达式。

正则表达式的语法规则

正则表达式秒素了一类字符串的特征,通过这个特征与特定的函数配合,对其他的字符串进行匹配、查找、替换以及分割操作!

这类字符串的特征是有一个或者多个

  • 1.普通字符(比如a到z)、

  • 2.元字符(有特殊功能的字符比如*、+、?),

正则表达式正是由普通字符和元字符组成的一个字符串,例如’/a/’,a就是普通字符,/是定界符(表示正则表达式的开始或结束)。下面是正则表达式语法参考表

字符描述示例
\转义字符\. 匹配点号本身
^匹配输入字符串的开始位置^abc 匹配以”abc”开头的字符串
$匹配输入字符串的结束位置xyz$ 匹配以”xyz”结尾的字符串
*匹配前面的子表达式零次或多次ab*c 匹配 “ac”、”abc”、”abbc” 等
+匹配前面的子表达式一次或多次ab+c 匹配 “abc”、”abbc”,但不匹配 “ac”
?匹配前面的子表达式零次或一次colou?r 匹配 “color” 和 “colour”
{n}匹配确定的 n 次o{2} 匹配 “food” 中的两个 o,但不匹配 “Bob” 中的 o
{n,m}最少匹配 n 次且最多匹配 m 次o{1,3} 匹配 “foooood” 中的前三个 o
??, *?, +?, {n,m}?非贪婪匹配(最小匹配)o+? 在 “oooo” 中只匹配第一个 o
.匹配除换行符外的任何单个字符a.c 匹配 “abc”、”aac”、”a&c” 等
(pattern)匹配 pattern 并捕获匹配项(abc) 匹配并捕获 “abc”
x\|y匹配 x 或 yz\|food 匹配 “z” 或 “food”
[xyz]字符集合,匹配所包含的任意一个字符[abc] 匹配 “plain” 中的 ‘a’
[^xyz]负值字符集合,匹配未包含的任意字符[^abc] 匹配 “plain” 中的 ‘p’、’l’、’i’、’n’
[a-z]字符范围,匹配指定范围内的任意字符[a-z] 匹配任意小写字母
[^a-z]负值字符范围,匹配不在指定范围内的字符[^a-z] 匹配任意非小写字母
\b匹配单词边界er\b 匹配 “never” 中的 ‘er’,但不匹配 “verb” 中的 ‘er’
\B匹配非单词边界er\B 匹配 “verb” 中的 ‘er’,但不匹配 “never” 中的 ‘er’
\d匹配数字字符,等价于 [0-9]\d+ 匹配一个或多个数字
\D匹配非数字字符,等价于 [^0-9]\D+ 匹配一个或多个非数字字符
\f匹配换页符 
\n匹配换行符 
\r匹配回车符 
\s匹配任何空白字符(空格、制表符、换页符等)\s+ 匹配一个或多个空白字符
\S匹配任何非空白字符\S+ 匹配一个或多个非空白字符
\w匹配单词字符(字母、数字、下划线)\w+ 匹配一个或多个单词字符
\W匹配非单词字符\W+ 匹配一个或多个非单词字符

中文正则验证

  • 1.js

匹配中文字符的正则表达式: [\u4e00-\u9fa5] 匹配双字节字符(包括汉字在内):[^\x00-\xff]

  • 2.PHP

/^[\x{4e00}-\x{9fa5}]+$/u 其中”\x{4e00}-\x{9fa5}”代表汉字验证。”/u”代表unicode(utf-8)匹配。 在php中,不支持[\u4e00-\u9fa5]匹配汉字,而是用\x表示十六进制数据,然而php中用”[\x4e00-\x9fa5]“的写法也是错的,必须用{}把它包起来才行。此外,由于编码关系,需要用到”/u”声明编码格式.

本文由作者按照 CC BY 4.0 进行授权

YAML的基本语法

怎样使用Docker镜像搭建SVN服务