我是靠谱客的博主 细腻糖豆,最近开发中收集的这篇文章主要介绍PHP中正则表达式的写法,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

http://php.net/manual/zh/regexp.reference.delimiters.php

分隔符

当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。

经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)。下面的例子都是使用合法分隔符的模式。

/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%

如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性。

/http:///
#http://#
需要将一个字符串放入模式中使用时,可以用 preg_quote() 函数对其进行 转义,它的第二个参数(可选)可以用于指定需要被转义的分隔符。

除了上面提到的分隔符,也可以使用括号样式的分隔符,左括号和右括号分别作为开始和结束 分隔符。

{this is a pattern}

可以在结束分隔符后面增加模式修饰符。 下面的例子是一个大小写不敏感的匹配:

#[a-z]#i



http://php.net/manual/zh/regexp.reference.escape.php

转义序列(反斜线)


反斜线有多种用法。首先,如果紧接着是一个非字母数字字符,表明取消 该字符所代表的特殊涵义。这种将反斜线作为转义字符的用法在字符类 内部和外部都可用。

比如,如果你希望匹配一个 "*" 字符,就需要在模式中写为 "*"。 这适用于一个字符在不进行转义会有特殊含义的情况下。 但是, 对于非数字字母的字符,总是在需要其进行原文匹配的时候在它前面增加一个反斜线, 来声明它代表自己,这是安全的。如果要匹配一个反斜线,那么在模式中使用 ”\”。


例如,我要写小数点"." ,但是点是  元字符 (有特殊涵义的编码字符),如果要表示小数点,不让它代表特殊含义,就需要转义: "." 或 [.]

$lng = 125.97097735211630;

$pattern = "#^(0|[1-9][0-9]*)[.][0-9]{14}$#"; 
//满足14位小数位的数字

preg_match($pattern, $lng)



https://www.cnblogs.com/hellohell/p/5718319.html

表达式中的反斜杠()

表达式中的反斜杠有多重意义,如转义、指定预定义的字符集、定义断言、显示不打印的字符。

转义字符

转义字符主要是将一些特殊字符转为普通字符。而这些常用特殊字符有”.”,”?”、””等。

指定预定义的字符集

字符含义
d任意一个十进制数字[0-9]
D任意一个非十进制数字
s任意一个空白字符(空格、换行符、换页符、回车符、字表符)
S任意一个非空白字符
w任意一个单词字符
W任意个非单词字符

###显示不可打印的字符

字符含义
a报警
b退格
f换页
n换行
r回车
t字表符




最后

以上就是细腻糖豆为你收集整理的PHP中正则表达式的写法的全部内容,希望文章能够帮你解决PHP中正则表达式的写法所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部