首页 >后端开发 >PHP问题 > 正文

php正则表达式怎么写

原创2019-09-12 17:45:100800
phpstudy集成环境下载

正则表达式时工作中非常常用并且作用非常强大的的一种技术,但是学起来略显枯燥。今天,为大家讲一下,在php中正则表达式该如何写?

分隔符

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

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

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

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

/http:\/\//
#http://#

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

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

{this is a pattern}

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

#[a-z]#i

转义序列

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

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

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

$lng = 125.97097735211630;

$pattern = "#^(0|[1-9][0-9]*)[\.][0-9]{14}$#";

//满足14位小数位的数字

preg_match($pattern, $lng)

表达式中的反斜杠

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

转义字符

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

指定预定义的字符集

正则表达式-1.jpg

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

正则表达式-2.jpg

以上内容仅供参考!

推荐视频教程:PHP视频教程

以上就是php正则表达式怎么写的详细内容,更多请关注php中文网其它相关文章!

php中文网最新课程二维码
  • 相关标签:php 正则表达式
  • 本文原创发布php中文网,转载请注明出处,感谢您的尊重!
  • 相关文章

    相关视频


    网友评论

    文明上网理性发言,请遵守 新闻评论服务协议

    我要评论
  • 专题推荐

    推荐视频教程
  • 独孤九贱(4)_PHP视频教程独孤九贱(4)_PHP视频教程
  • 2018PHP经典入门教程2018PHP经典入门教程
  • PHP零基础视频教程PHP零基础视频教程
  • 视频教程分类