搜 索

正则表达式的标记以及一些正则的语法规则

编辑:QTOOL.NET日期:2019-02-25164

本文主要分享介绍了一些正则表达式的用法标记以及语法规则.
首先是常见的正则符号代表的意义。
*号表示匹配0个或多个前面字符。
如:qt* 可以匹配"qt"、"qto"、"qtoo"等 
^号表示匹配字符串的开头。
如:^abc 与"abc def"匹配,而不匹配"def abc" 
 
$号匹配则是字符串的结尾。
如:abc$ 与"def abc"匹配,而不与"abc def"匹配
 
如果同时使用^号与$号呢?
那么将进行精确的匹配
如:^qtool$ 只与"qtool"相匹配
 
?号匹配0个或1个前面字符。
如:qt?o? 可以且只能匹配"qto"、"qtto"、"qtoo"
 
+号匹配至少一个前面字符
如:qt+ 不匹配"qt",但可以匹配"qtt"、"qttt"等 
 
.号可以匹配除换行符以外的任何的字符
如:(.)+ 匹配除换行符以外的所有字符串 
 
q|t匹配"q"或"t"。
如:qto|def 可匹配 "qto"或 "def",而"qt(o|d)ef"匹配 "qtoef"和"qtdef" 
 
[qwe]表示一个字符集,匹配括号内字符的任意一个字符
如:[qwe] 匹配"q"、"w"和"e" 
 
[^qwe]表示一个否定字符组合。匹配不在括号中的所有字符
如[^qwe] 可以匹配除"q"、"w"和"e"以外的所有字符 
 
[a-z]则代表某个范围内的字符,可以匹配指定区间内的字符
如:[a-z]匹配从"a"到"z"之间的任何一个小写的英文字母
[^q-t]表示指定范围之外的字符,可以用来匹配不在指定范围内的所有字符。
如: [q-t] 可用来匹配除从"q"到"t"之间的任何字符 
 
{n}匹配刚好n次(n为非负整数)前面字符。
如: q{2} 可以匹配"qq",但不匹配"q" 
 
{n,}则是匹配至少n次(n为非负整数)前面字符。
如: q{3,} 匹配"qqq"、"qqqq"等,但不匹配"q"和"qq"
q{0,}等价于q*,q{1,}等价于q+ 
 
{m,n}匹配至少m个,或者至多n个前面字符
如:q{1,3} 只匹配"q"、"qq"和"qqq"
q{0,1}等价于q
 
\符号是转义操作符
如: \n 换行 \f 分页  \r 回车  \t 制表符   \v 垂直制表符  
\\ 匹配"\"则是 \/ 匹配"/" 
\s 任何空白字符,包括空格、制表符、分页符等
\S (大写的S)表示任何非空白的字符
\w 任何单词字符,包括字母和下划线
\W (大写的W)表示任何非单词字符
\b   匹配单词的结尾
如: ol\b 匹配单词"tool"等 
\B (大写的B)匹配单词的开头
如: qt\B 匹配单词"qtool"等
 
\d 匹配一个数字字符,与[0-9]相当。
如: qwe\drty 匹配"qwe1rty" 
\D 大写的D)匹配一个非数字字符,与[^0-9]相同。
如: qwe\Drty 匹配"qwefrty"、"qwe-rty"等 
 
\NUM匹配NUM个,NUM为一个正整数,引用回到记住的匹配。
如:(.)\1 匹配两个连续相同的字符  
 
\oNUM匹配n(其中n为一个小于256的八进制换码值)
如:\o011 匹配制表符 
 
\xNUM匹配NUM(其中NUM为一个小于256的十六进制换码值)
如: \x41 匹配字符"A" 
至于如何使用这些正则表达式呢?
我们可以在js、python、PHP、net以及ASP等程序语言中使用正则表达式。 
以PHP语言为例,php5.3x以前提供了eregi()或ereg()处理函数实现字串比对,而现在则是preg-match()、 preg-match-all()、preg_replace()等函数用的最多.
比如
$wz="Aaedfe235478wAwvfhe";
preg_replace("/0/","",$str);//去掉0字符
preg_replace("/[0-9]/","",$wz);//可以去掉所有数字
同理:
preg_replace("/[a-z,A-Z]/","",$wz); //这样则可以去除所有大小写字母
如果需要查看结果可以直接用echo输出结果.
正则表达式生成示例
以上就是正则表达式的标记与语法规则的一些简单用法,当然我们也可以直接通过本站的正则生成工具直接生成一些我们网页制作过程中常用的正则表达式.

TAG标签:正则
此文章由QTOOL.NET编辑
最新文章

热门标签