PHP中正则表达式学习及应用(一)
1、正则表达式的介绍和作用
什么是正则表达式
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串 的需要。正则表达式就是用于描述这些规则的语法。
例:在判断用户邮件地址格式、手机号码格式或者采集别人网页内容时
主要的作用是:分割、匹配、查找、替换
注:正则表达式对于一个程序员来讲是至关重要的一个知识点,所以学好正则 是每一个程序员必须具备的。不仅可以帮助我们完成一些通过函数无法实现 的工作,还可以帮助我们减轻很多工作量。
2、PHP中两个常用的正则函数
preg_match 正则函数,以perl语言为基础
preg_match ( mode, string subject , array matches ) //mode是正则表达规则、subject是待匹配的字符串、matches存储匹配出的字符
例如:
<?php
$mode="/(abc)/";
$str="abcsdsdsdwdaabc";
preg_match_all($mode, $str, $arr);
print_r($arr);
?> 输出: Array
(
[0] => Array
(
[0] => s
[1] => d
[2] => s
[3] => d
[4] => s
[5] => d
[6] => w
[7] => d
) )
ereg 正则函数,以POSIX基础 (Unix 、 Script)
ereg ( mode, string subject , array regs ) //此方法与preg_match_all()一样
3、正则表达式中包括的元素
(1)、原子(普通字符:a-z A-Z 0-9 、原子表、 转义字符)
(2)、元字符 (有特殊功能的字符)
(3)、模式修正符 (系统内置部分字符 i 、m、S、U…)
4、正则表达式中的“原子”
①a-z A-Z _ 0-9 //最常见的字符
②(abc) (skd) //用圆括号包含起来的单元符合
③[abcs] [^abd] //用方括号包含的原子表,原子表中的^代表排除或相反内容
④转义字符
\d 包含所有数字[0-9] //匹配出所有的数字
\D 除所有数字外[^0-9] //匹配出所有非数字的字符
\w 包含所有英文字符[a-zA-Z_0-9] //匹配出所有字母和数字
\W 除所有英文字符外[^a-zA-Z_0-9] //匹配出所有除了字母和数字之外的字符、例如@、#、$、%.....
\s 包含空白区域如回车、换行、分页等 [\f\n\r] …… //匹配除上述之外的字符....
PHP中正则表达式学习及应用(一)
本节内容的视频教程:链接: http://pan.baidu.com/s/1pJqsu0b 密码: gdnw
PHP中正则表达式学习及应用(一)的更多相关文章
- PHP中正则表达式学习及应用(四)
正则表达式在PHP中的应用 1.匹配功能 2.替换功能 3.分割功能 例如: <?php $str="addsds{title}hfksjd{author}hfjdkjd{conn}j ...
- PHP中正则表达式学习及应用(三)
正则表达式中的“模式修正符” 1.运算顺序 2.模式修正符 i 正则内容在匹配时候不区分大小写(默认是区分的) 例如: <?php $mode="/[a-z]/i"; ...
- PHP中正则表达式学习及应用(二)
正则表达式中的“元字符” * 匹配前一个内容的0次1次或多次 例如: <?php $mode="/go*gle/"; //前一个内容指的是 * 的前一个字符 o ,在$str ...
- JAVA中正则表达式学习总结
一.JAVA中正则表达式相关的类 1. java.util.regex.Pattern 该类用于编译模式,模式可以理解为一个正则表达式,比如:a*b. 用法如下: // 创建模式 Pattern p ...
- 深入浅出的javascript的正则表达式学习教程
深入浅出的javascript的正则表达式学习教程 阅读目录 了解正则表达式的方法 了解正则中的普通字符 了解正则中的方括号[]的含义 理解javascript中的元字符 RegExp特殊字符中的需要 ...
- Python正则表达式学习摘要及资料
摘要 在正则表达式中,如果直接给出字符,就是精确匹配. {m,n}? 对于前一个字符重复 m 到 n 次,并且取尽可能少的情况 在字符串'aaaaaa'中,a{2,4} 会匹配 4 个 a,但 a{2 ...
- java中正则表达式基本用法
正则表达式是一种可以用于模式匹配和替换的规范,一个正则表达式就是由普通的字符(例如字符a到z)以及特殊字符(元字符)组成的文字模式,它 用以描述在查找文字主体时待匹配的一个或多个字符串.正则表达式作为 ...
- java基础---->java中正则表达式二
跟正则表达式相关的类有:Pattern.Matcher和String.今天我们就开始Java中正则表达式的学习. Pattern和Matcher的理解 一.正则表达式的使用方法 一般推荐使用的方式如下 ...
- C#中正则表达式的使用
目前为止,许多编程语言和工具都包含对正则表达式的支持,C#也不例外,C#基础类库中包含有一个命名空间(System.Text.RegularExpressions)和一系列可以充分发挥规则表达式威力的 ...
随机推荐
- Codeforces Round #267 (Div. 2) B. Fedor and New Game
After you had helped George and Alex to move in the dorm, they went to help their friend Fedor play ...
- eclipse的debug使用(转载)
出处:http://www.blogjava.net/yxhxj2006/archive/2012/08/30/386621.html 远程Debug: http://blog.sina.com.cn ...
- DotNetBar MessageBoxEx 显示中文 显示office2007风格
MessageBoxEx显示消息的时候按钮是中文的解决这个问题设置 MessageBoxEx的UseSystemLocalizedString属性为 true. MessageBoxEx.UseSys ...
- arcgis for javascript 隐藏或显示底图
arcgis for javascript展示地图的时候,有图层的概念,一层一层的,类似photoshop,在应用界面上控制图层的显隐,是极常见的功能. 但是,如果是控制底图的显示或隐藏呢,怎么搞? ...
- 【BZOJ1042】[HAOI2008]硬币购物 容斥
[BZOJ10492][HAOI2008]硬币购物 Description 硬币购物一共有4种硬币.面值分别为c1,c2,c3,c4.某人去商店买东西,去了tot次.每次带di枚ci硬币,买si的价值 ...
- Java类加载器( 死磕 6)
[正文]Java类加载器( CLassLoader )死磕 6: 自定义网络类加载器 本小节目录 6.1. 自定义网络类加载器的类设计 6.2. 文件传输Server端的源码 6.3. 文件传输C ...
- Redis(一)基础数据结构
1.目录 Redis 基础数据结构 string (字符串) list (列表) hash (字典) set (集合) zset (集合) 容器型数据结构的通用规则 过期时间 2.Redis 基础数据 ...
- xml 基础属性
xml属性 对应的方法 说明 android:alpha setAlpha(float) 设置组件的透明度(0——1) android:background setBackgroundResource ...
- Centos查看端口占用情况
Centos查看端口占用情况命令,比如查看80端口占用情况使用如下命令: lsof -i tcp:80 列出所有端口 netstat -ntlp 结束进程: kill 进程代码
- SYN FLOOD学习理解
SYN FLOOD是一种比较常见的DoS攻击手段,它的特点就是防不胜防.SYN攻击属于DOS攻击的一种,它利用TCP协议缺陷,通过发送大量的半连接请求,耗费CPU和内存资源.SYN攻击除了能影响主机外 ...