美文网首页
常见正则表达式的两种模式和preg_match函数的匹配细节

常见正则表达式的两种模式和preg_match函数的匹配细节

作者: LittleTrue | 来源:发表于2018-09-09 16:08 被阅读0次

正则匹配一般有两种使用场景:

1、在一个字符串中寻找符合规则的子串, 进行替换或删除

在php中,提供了preg_math()和preg_match_all函数进行正则匹配。关于这两个函数原型如下:

int preg_match|preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )

提供preg_replace进行正则替换:

mixed preg_replace ( mixed $pattern , mixed $replacement , mixed $subject [, int $limit = -1 [, int &$count ]] )
2、检测一个字符串是否符合指定的正则规则

使用修饰符$,即可检测当前字符串是否符合正则规则。


正则规则注释符的影响:

可以使用: ?<说明> 对编写的正则表达式进行文本说明, 但是在编译过程中, 一些正则验证网站可以正常编译并返回结果, 但是在代码中,例如使用preg_match则正则不能正常运用, 把注释符去掉则正常, 估计是由于不同语言内核实现的正则语言引擎是不同的造成的。


常见的正则规则:

身份证号码: ^\d{17}[0-9xX]$

手机号码: ^1[3456789]{1}\d{9}$

电话: ^(((010|021|020|022|023|024|025|026|027|028|029|852)|((010)|(021)|(022)|(023)|(024)|(025)|(026)|(027)|(028)|(029)|(852)))?\D?\d{8}|((0[3-9][1-9]{2})|((0[3-9][1-9]{2})))?\D?\d{7,8})$

零和非零开头的数字:^(0|[1-9][0-9]*)$

中文、英文、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$

相关文章

  • 3.正则表达式

    正则表达式 什么叫正则表达式 preg_match 正则表达式基本语法 PCRE库函数中,正则匹配模式使用分隔符与...

  • 常见正则表达式的两种模式和preg_match函数的匹配细节

    正则匹配一般有两种使用场景: 1、在一个字符串中寻找符合规则的子串, 进行替换或删除 在php中,提供了preg_...

  • PHP表单验证-正则表达式

    核心:preg_match (进行正则表达式匹配) 验证名称:name if(!preg_match("/^[a-...

  • 正则表达式

    1.正则表达式是一种字符串匹配搜索工具 2 正则表达式规则 php函数 preg_match 和 preg_ma...

  • php学习笔记(四)

    正则表达式 PHP中使用PCRE库函数进行正则匹配,比如上例中的preg_match用于执行一个正则匹配,常用来判...

  • JS权威指南读书笔记(三)

    第十章 正则表达式的模式匹配 如同对象和数组,正则表达式也有两种创建方式,构造函数和正则表达式直接量。 直接量字符...

  • 2019.8.15分享:正则表达式字符匹配攻略

    一、正则表达式 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 这次分享主要将提下正则表达式字符匹配 • 两种...

  • PHP函数漏洞集

    正则表达式 preg_match如果在进行正则表达式匹配的时候,没有限制字符串的开始和结束(^ 和 $),则可以存...

  • 《javaScript正则表达式迷你书》(一)

    正则表达式字符匹配攻略 正则表达式是匹配模式,要么匹配字符,要么匹配位置。 两种模糊匹配 如果正则只有精确匹配是没...

  • 简单的正则表达式

    题目 实现一个简单的正则表达式匹配函数,其中模式串只包含点(.)和星号(*)两种特殊符号。 解决 正向递归从前向后...

网友评论

      本文标题:常见正则表达式的两种模式和preg_match函数的匹配细节

      本文链接:https://www.haomeiwen.com/subject/hpxdgftx.html