php正则表达式(regar expression)
引言: 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串
的需要。正则表达式就是用于描述这些规则的语法。
例:在判断用户邮件地址格式、手机号码格式或者采集别人网页内容时.
php也常常用到正则表达式 php有两个常用的正则表达式函数:preg_match和ereg。
我今天刚看了preg_match.它的具体写法是preg_match(mode,string subject,array matches);
以下是我写的一个example.
代码如下:
<?php
$mode="/[^8s]/";//匹配模块
$str="sssjj88d";//匹配内容
echo "<hr>";
if(preg_match($mode,$str,$arr)){ //匹配函数
echo "匹配成功".$arr[0];//$arr[0]:匹配结果集的第一个值
}
else{
echo "匹配失败";
}
结果:
正则表达式(regular expression)"元字符":
*匹配前一个内容的0次或多次,即前一个内容任意都匹配
.匹配内容的0次1次或多次,但不包含回车换行
+ 匹配前一个内容的1次或多次(除了空)。
| 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配)
^ 匹配字符串首部内容
$ 匹配字符串尾部内容
{a,b},表示匹配前一个内容的次数,这个表示次数从a到b之间。
( ) 合并整体匹配,并放入内存,可使用\1 \2…依次获取
以下是我用php写的一个example:
代码如下:
<?php
$mode="/\d{2,4}(.*)\d{1,2}\\1\d{1,2}/";//匹配模块一般写得越简单越好
//$mode="/2009(.*)9\\1(10)/";
$str="2011/9/10";
if(preg_match($mode,$str,$arr)){
echo "匹配成功"."<br/><font color=red>".$arr[0]."</font><br/><br/><font size='+4' color=blue>教师节快乐</font>";
}
else{
echo "匹配失败";
}
?>
结果:
相关推荐
-
php正则表达式的基本语法总结
首先,让我们看看两个特别的字符:'^' 和 '$' 他们是分别用来匹配字符串的开始和结束,一下分别举例说明 "^The": 匹配以 "The"开头的字符串; "of despair$": 匹配以 "of despair" 结尾的字符串; "^abc$": 匹配以abc开头和以abc结尾的字符串,实际上是只有abc与之匹配 "notice": 匹配包含notice的字符串 你可以看见如果你
-
php用正则表达式匹配中文实例详解
在php中汉字正则可能有些朋友觉得很简单,但是在使用时会发现在gbk编码与uft8编码可能会有点区别哦,下面小编来介绍一下.gbk编码下汉字正则 1.判断字符串是否全是汉字 复制代码 代码如下: <?php $str = '全部是汉字测试'; if (preg_match_all("/^([x81-xfe][x40-xfe])+$/", $str, $match)) { echo '全部是汉字'; } else { echo '不
-
PHP正则表达式之定界符和原子介绍
本节内容我们将介绍PHP中正则 表达式的基础语法:定界符和原子.内容包含了定界符的定义以及原子的定义和构成等等.其中原子的构成十分灵活,以便满足我们对处理字符串的需求.在这之 前,我们需要先了解一个正则表达式处理函数preg_match()来进行测试,以方便我们教程示例的进行. 先来看一下正则表达式的定界符.正则表达式的构成以及preg_match()函数: 1,正则表达式的定界符. 除了字母.数字和反斜线\以外的任何字符都可以为定界符号,比如 | |.//.{}.!!等等,但是需要注意,如果没
-
php入门学习知识点四 PHP正则表达式基本应用
复制代码 代码如下: <?php //正则表达 式 // ereg区分大小写 if(ereg("([A-Z]{3,})", "AAA")){ echo "大写能匹配!<br>"; }else{ echo "no"; } if(ereg("([A-Z]{3,})", "aaa")){ echo "yes"; }else{ echo "小写不能
-
php正则表达式使用的详细介绍
前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子. 正则表达式的使用,可以通过简单的办法来实现强大的功能.为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习
-
第4章 数据处理-php正则表达式-郑阿奇(续)
1.正则表达式基础知识 含义:由普通字符和(a-z)和一些特殊字符组成的字符串模式 功能:有效性验证. 替换文本. 从一个字符串提取一个子字符串. 分类:POSIX和Perl POSIX风格更容易掌握,但不能用于二进制模式,而perl相对比较复杂. 2.POSIX风格的正则表达式 1.编写正则表达式 表4.3 POSIX正则表达式语法格式列表 字 符 描 述 \ 转义字符,用于转义特殊字符.例如,'.'匹配单个字符,'\.'匹配一个点号.'\-'匹配连字符'-','\\'匹配符号'\' ^ 匹配
-
php正则表达式的模式修正符和逆向引用使用介绍
正则表达式的匹配先后顺序: 1.模式单元 2.重复匹配 ? * + {} 3.边界限定 ^ $ b B 4.模式选择 | 模式修正符: 模式修正符是标记在整个模式之外的. i :模式中的字符将同时匹配大小写字母. m :字符串视为多行. s :将字符串视为单行,换行符作为普通字符. x :将模式中的空白忽略. A :强制仅从目标字符串的开头开始匹配. D :模式中的美元元字符仅匹配目标字符串的结尾. U :匹配最近的字符串. PHP与正则表达式中的模式修正符 下面列出了当前在 PCRE 中可能使
-
PHP正则表达式的逆向引用与子模式分析
正则表达式一个最重要的特性就是将匹配成功的模式的某部分进行存储供以后使用这一能力. 对一个正则表达式模式或部分模式两边添加圆括号()可以把这部分表达式存储到一个临时缓冲区中. 所捕获的每个子匹配都按照在正则表达式模式中从左至右所遇到的内容按顺序存储. 存储子匹配的缓冲区编号从1开始,连续编号至最大99个子表达式. 每个缓冲区都可以使用'\n'(或用'$n')访问,其中n为1至99的阿拉伯数字,用来按顺序标识特定缓冲区(子表达式). 例1:最简单最有用的例子是确定文字中连续出现两个相同单词的位置
-
php正则表达式(regar expression)
引言: 在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串 的需要.正则表达式就是用于描述这些规则的语法. 例:在判断用户邮件地址格式.手机号码格式或者采集别人网页内容时. php也常常用到正则表达式 php有两个常用的正则表达式函数:preg_match和ereg. 我今天刚看了preg_match.它的具体写法是preg_match(mode,string subject,array matches): 以下是我写的一个example. 复制代码 代码如下: <?php $
-
正则表达式Regular Expression (RegExp)详解
正则表达式,又称正规表示式.正规表示法.正规表达式.规则表达式.常规表示法(英语:Regular Expression,在代码中常简写为regex.regexp或RE). 正则表达式使用单个字符串来描述.匹配一系列符合某个句法规则的字符串.在很多文本编辑器里,正则表达式通常被用来检索.替换那些符合某个模式的文本. 一.字符类 1.字符类:可以匹配他所包含的任意字符 eg:/[abc]/和字母"a"."b"."c"中的任意一个匹配 2.否定字符类:
-
正则表达式regular expression详述(一)
正则表达式是regular expression,看来英文比中文要好理解多了,就是检查表达式符不符合规定!!正则表达式有一个功能十分强大而又十分复杂的对象RegExp,在JavaScript1.2 版本以上提供. 下面我们看看有关正则表达式的介绍: 正则表达式对象用来规范一个规范的表达式(也就是表达式符不符合特定的要求,比如是不是Email地址格式等),它具有用来检查给出的字符串是否符合规则的属性和方法. 除此之外,你用RegExp构造器建立的个别正则表达式对象的属性,就已经预
-
浅谈正则表达式(Regular Expression)
一.什么是正则表达式? 简单的说:正则表达式(Regular Expression)是一种处理字符串匹配的语言: 正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否含有某种子串,对匹配到的子串进行"取出"或"替换"操作. 二.正则表达式的应用 正则表达式在实际的开发过程中非常实用,能够快速解决一些复杂的字符串处理问题,下面我对正则表达式的应用做一些简单分类: 第一种:数据验证 比如,你要验证一个字符串是否是正确的EMail,Telphone,Ip等等,
-
正则表达式regular expression详述(二)
正则表达式详述(二) 以下这些不是正则表达式的新增对象请参阅对应的JavaScript对象的属性 $_属性 参考input $*属性 参考multiline $&属性 参考lastMatch $+属性 参考lastParen $`属性 参考leftContext $'属性 参考rightContext compile方法 在脚本运行期间编译正则表达式对象 属于RegExp的方法 在JavaScri
-
正则表达式基础教程 regular expression第1/2页
前言 正则表达式是烦琐的,但是强大的,学会之后的应用会让你除了提高效率外,会给你带来绝对的成就感.只要认真去阅读这些资料,加上应用的时候进行一定的参考,掌握正则表达式不是问题. 1. 引子 目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子. 正则表达式的使用,可以通过简单的办法来实现强大的功能.为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习
-
Javascript中正则表达式的使用及基本语法
前面的话 正则表达式在人们的印象中可能是一堆无法理解的字符,但就是这些符号却实现了字符串的高效操作.通常的情况是,问题本身并不复杂,但没有正则表达式就成了大问题.javascript中的正则表达式作为相当重要的知识,本文将介绍正则表达式的基础语法 定义 正则表达式(Regular Expression)是一门简单语言的语法规范,是强大.便捷.高效的文本处理工具,它应用在一些方法中,对字符串中的信息实现查找.替换和提取操作 javascript中的正则表达式用RegExp对象表示,有两种写法:一种
-
Perl中的正则表达式介绍
感谢AKA及作者. Perl 中的正则表达式正则表达式的三种形式 正则表达式中的常用模式 正则表达式的 8 大原则 正则表达式是 Perl 语言的一大特色,也是 Perl 程序中的一点难点,不过如果大家能够很好的掌握他,就可以轻易地用正则表达式来完成字符串处理的任务,当然在 CGI 程序设计中就更能得心应手了.下面我们列出一些正则表达式书写时的一些基本语法规则. 9.1 正则表达式的三种形式首先我们应该知道 Perl 程序中,正则表达式有三种存在形式,他们分别是: 匹配:m/<regexp>;
-
PHP正则表达式完全教程之基础篇
目前,正则表达式已经在很多软件中得到广泛的应用,包括*nix(Linux, Unix等),HP等操作系统,PHP,C#,Java等开发环境,以及很多的应用软件中,都可以看到正则表达式的影子. 正则表达式的使用,可以通过简单的办法来实现强大的功能. 为了简单有效而又不失强大,造成了正则表达式代码的难度较大,学习起来也不是很容易. 例子: ^.+@.+..+$ 这样的代码曾经多次把我自己给吓退过.可能很多人也是被这样的代码给吓跑的吧. 学习完本教程将让你也可以自由应用这样的代码. 正则表达式的历史
-
20个正则表达式必知(能让你少写1,000行代码)
正则表达式(regular expression)描述了一种字符串匹配的模式,可以用来检查一个串是否含有某种子串.将匹配的子串做替换或者从某个串中取出符合某个条件的子串等. 列目录时, dir *.txt或ls *.txt中的*.txt就不是一个正则表达式,因为这里*与正则式的*的含义是不同的. 构造正则表达式的方法和创建数学表达式的方法一样.也就是用多种元字符与运算符可以将小的表达式结合在一起来创建更大的表达式.正则表达式的组件可以是单个的字符.字符集合.字符范围.字符间的选择或者所有这些组件
随机推荐
- 关于数据库连接池Druid使用说明
- 每天一篇javascript学习小结(Date对象)
- java操作mongodb时,对象bean和DBObject相互转换的方法(推荐)
- 用C#中的params关键字实现方法形参个数可变
- Jquery 获得服务器控件值的方法小结
- PHP错误处理函数register_shutdown_function使用示例
- GO语言映射(Map)用法分析
- 好好了解一下Cookie(强烈推荐)
- MySQL中删除重复数据的简单方法
- 在JavaScript中判断整型的N种方法示例介绍
- php获取文章上一页与下一页的方法
- Android 兼容性问题:java.lang.UnsupportedOperationException解决办法
- Struts2学习笔记(2)-路径问题解决
- javascript中自定义对象的属性方法分享
- jQuery 1.9.1源码分析系列(十)事件系统之绑定事件
- Android仿新浪微博自定义ListView下拉刷新(4)
- Android自定义控件实现简单写字板功能
- 使用Angular CLI生成路由的方法
- JavaScript中 ES6变量的结构赋值
- Spring中的事务传播行为示例详解