概述
http://php.net/manual/zh/regexp.reference.delimiters.php
分隔符
当使用 PCRE 函数的时候,模式需要由分隔符闭合包裹。分隔符可以使任意非字母数字、非反斜线、非空白字符。
经常使用的分隔符是正斜线(/)、hash符号(#) 以及取反符号(~)。下面的例子都是使用合法分隔符的模式。
/foo bar/ #^[^0-9]$# +php+ %[a-zA-Z0-9_-]%
如果分隔符需要在模式内进行匹配,它必须使用反斜线进行转义。如果分隔符经常在 模式内出现, 一个更好的选择就是是用其他分隔符来提高可读性。
/http:/// #http://#
除了上面提到的分隔符,也可以使用括号样式的分隔符,左括号和右括号分别作为开始和结束 分隔符。
{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中正则表达式的写法所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复