php 前置匹配,浅析PHP正则表达式匹配的特定实现
PHP正则表达式匹配的特定实现是什么呢?其实我们知道,在实际的匹配操作的过程中我们操作的不仅仅是单个的字母或是数字,那么我们面对像单词的或是一组数字的时候该如何处理呢?
PHP正则表达式匹配的特定实现会使用到PHP正则表达式内置通用字符簇,都有那些PHP正则表达式内置通用字符集呢?
PHP正则表达式内置通用字符集及含义:[[:alpha:]]//任何字母
[[:digit:]]//任何数字
[[:alnum:]]//任何字母和数字
[[:space:]]//任何白字符
[[:upper:]]//任何大写字母
[[:lower:]]//任何小写字母
[[:punct:]]//任何标点符号
[[:xdigit:]]//任何16进制的数字,相当于[0-9a-fA-F]
PHP正则表达式匹配的分析:
到现在为止,你已经知道如何去匹配一个字母或数字,但更多的情况下,可能要匹配一个单词或一组数字。一个单词有若干个字母组成,一组数字有若干个单数组成。跟在字符或字符簇后面的花括号({})用来确定前面的内容的重复出现的次数。
使用到的PHP正则表达式字符集及含义^[a-zA-Z_]$//所有的字母和下划线
^[[:alpha:]]{3}$//所有的3个字母的单词
^a$//字母a
^a{4}$//aaaa
^a{2,4}$//aa,aaa或aaaa
^a{1,3}$//a,aa或aaa
^a{2,}$//包含多于两个a的字符串
^a{2,}//如:aardvark和aaab,但apple不行
a{2,}//如:baad和aaa,但Nantucket不行
\t{2}//两个制表符
.{2}//所有的两个字符
这些例子描述了花括号的三种不同的用法。一个数字,{x}的意思是“前面的字符或字符簇只出现x次”;一个数字加逗号,{x,}的意思是“前面的内容出现x或更多的次数”;两个用逗号分隔的数字,{x,y}表示“前面的内容至少出现x次,但不超过y次”。我们可以把模式扩展到更多的单词或数字:^[a-zA-Z0-9_]{1,}$//所有包含一个以上的字母、数字或下划线的字符串
^[0-9]{1,}$//所有的正数
^\-{0,1}[0-9]{1,}$//所有的整数
^\-{0,1}[0-9]{0,}\.{0,1}[0-9]{0,}$//所有的小数
最后一个例子不太好理解,是吗?这么看吧:与所有以一个可选的负号(\-{0,1})开头(^)、跟着0个或更多的数字([0-9]{0,})、和一个可选的小数点(\.{0,1})再跟上0个或多个数字([0-9]{0,}),并且没有其他任何东西($)。下面你将知道能够使用的更为简单的方法。
特殊字符"?"与{0,1}是相等的,它们都代表着:“0个或1个前面的内容”或“前面的内容是可选的”。所以刚才的例子可以简化为:^\-?[0-9]{0,}\.?[0-9]{0,}$
特殊字符"*"与{0,}是相等的,它们都代表着“0个或多个前面的内容”。最后,字符"+"与 {1,}是相等的,表示“1个或多个前面的内容”,所以上面的4个例子可以写成:^[a-zA-Z0-9_]+$
//所有包含一个以上的字母、数字或下划线的字符串
^[0-9]+$//所有的正数
^\-?[0-9]+$//所有的整数
^\-?[0-9]*\.?[0-9]*$//所有的小数
当然这并不能从技术上降低正则表达式的复杂性,但可以使它们更容易阅读。
PHP正则表达式匹配的特定实现就向你介绍到这里,希望对你了解和学习PHP正则表达式匹配的特定实现有所帮助。
php 前置匹配,浅析PHP正则表达式匹配的特定实现相关推荐
- 匹配正则_Day233:正则表达式匹配方法 match()
match()语法 match本身是JavaScript语言中字符串对象的一个方法,该方法的签名是 match([string] | [RegExp]) 它的参数既可以是一个字符串,也可以是一个正则表 ...
- php 正则匹配 文件,php – 正则表达式匹配.htaccess中的一系列文件类型
我想这将是一个愚蠢的问题,但我不知道这里发生了什么.我想通过.htaccess文件中的正则表达式匹配一组特定的URI. 我想要以下内容 >所有不包含的文件. >所有以.htm / .htm ...
- python正则匹配中文_python 正则表达式匹配中文-阿里云开发者社区
python 正则表达式匹配中文 文件编码为 utf-8 设置默认编码为 utf-8 中文需要转换为 \u 形式的编码,也就是 编码, 轮换方法,cmd 下执行 python 进入 python 命 ...
- JAVA-正则表达式匹配教程 使用正则表达式匹配字符串 截取匹配到的字符串
可以利用在线工具先测试你所需要的正则表达式,其下方也列出了正则表达式的规则.也可以输入字符串去匹配测试. 并且他还有在线生成代码的功能..十分便捷.. 链接:https://c.runoob.com/ ...
- java正则匹配汉字_正则表达式匹配中文汉字
文章告诉你如何利用php教程 正则表达式匹配中文汉字哦,下面我们主要讲利用preg_match mb_eregi来验证汉字,并且正则过程出现问题的解决方法. preg_match("/[a- ...
- python正则匹配日期2019-03-11_Python正则表达式匹配日期与时间的方法
下面给大家介绍下Python正则表达式匹配日期与时间 #!/usr/bin/env python # -*- coding: utf-8 -*- __author__ = 'Randy' import ...
- java正则匹配ip_IP地址正则表达式匹配方法
这篇文章主要介绍了 IP地址正则表达式匹配方法的相关资料,需要的朋友可以参考下 正则表达式(Regular Expression,在代码中常简写为regex.regexp或RE)是计算机科学的一个概念 ...
- java正则匹配ip_使用正则表达式匹配IP地址
如何使用正则表达式匹配IP地址?这是很常见的任务.说难也难,说易也易,取决于在匹配的精确度以及正则表达式复杂度之间很好的折中. 通常,IP地址以点分十进制方式表示,IP地址分为4段,以点号分隔.要对I ...
- php正则匹配任意字符串,正则表达式匹配任意字符(包括换行符)
正则表达式中,"."(点符号)匹配的是除了换行符"\n"以外的所有字符.但有时候我们需要匹配包括换行符在内的字符,经过一番搜索,发现了几种正则表达式匹配任意字符 ...
最新文章
- MPB:林科院袁志林组-巢式PCR检测植物组织痕量内生真菌的方法及其引物
- 四张图带你了解Tomcat系统架构--让面试官颤抖的Tomcat回答系列!【转】
- 洛谷 - P3358 最长k可重区间集问题(最大费用最大流+思维建边)
- URAL 1146 Maximum Sum(最大子矩阵的和 DP)
- PHP URL的处理函数,php中url处理函数总结
- 在线交友背后的数学原理
- java 批量上传图片插件_java多文件上传plupload控件实现多图片上传(一)
- 电商促销插画风PSD分层模板,直击底价!吸睛容情!
- Python 手册——调用解释器
- 恶犬秒变萌汪:东京大学开源“治愈系” GAN 图片拼贴工具 | 技术头条
- vc linux 中文版下载64位,VSCode 64位下载
- Golang 相关 mindoc开发
- 【热门主题】蓝色妖姬电脑桌面主题
- 密码学的安全性浅析-1
- 为什么顶级程序员都有超强逆商?顶级程序员马化腾在艰难的时候,是如何度过的?
- 数电学习二——逻辑代数的计算与逻辑函数
- 标准电路——蜂鸣器Beep
- Keras实例教程(3)
- C#将设置开机、关闭开机启动项
- wps如何调整字符宽度_WPS文字怎样调整文字宽度让不同字数文字同宽?
热门文章
- win2008验证服务器错误,win2008dcdiag检测出的错误,求解决方法
- 日期格式化时注解@DateTimeFormat无效的问题分析
- 【Java用法】java 8两个List集合取交集、并集、差集、去重并集
- shiro中文api_Shiro
- OS复习——设备管理习题
- k2698场效应管参数电流_mos管特性曲线-电流方程与参数详解
- java swing panel问题_关于 Java swing Box 的使用问题
- python中sorted函数的用法_Python3 中sorted() 函数的用法
- 战地2服务器怎么虚拟人数,战地2怎么修改作战人数?
- android json传输数据到服务器,Android中post请求传递json数据给服务端的实例