正则表达式
什么是正则表达式?

什么是正则表达式?
什么是正则表达式?
正则表达式也称模式表达式,其⾃⾝具有⼀套⾮常完整的、可以编写模式的语法体系,提供了⼀种灵活且直观的字符串处理⽅法。
正则表达式通过构建特定规则的模式,与输⼊的字符串信息⽐较,从⽽实现字符串的匹配、查找、替换及分割等操作。
正则表达式并不是PHP⾃⼰的产物,在很多领域都会见到它的应⽤,除了在perl、C#及Java语⾔中应⽤外,我们的B/S架构软件开发
中,Linux操作系统、前台JavaScript脚本、后台脚本PHP以及MySQL数据库中都可以应⽤到正则表达式。
正则表达式语法概述
正则表达式是⼀种描述字符串结构的语法规则,是⼀个特定的格式化模式,可以匹配、替换、截取匹配的字串。
对于⽤户来说,可能以前接触过DOS,如果相匹配当前⽂件夹下所有的⽂本⽂件,可以输⼊“dir *.txt”命令,按enter键后所有“.txt”⽂件都会被列出来。
这⾥的“*.txt”即可理解为⼀个简单的正则表达式。
PHP⽀持两种风格的正则表达式语法:POSIX和Perl。
这两种风格的正则表达式是PHP编译时的默认风格。
在PHP5.3版本中,Perl风格不能被禁⽤。
POSIX正则表达式更容易掌握,但是他们不是⼆进制安全的。
何时⽤到正则表达式?
到⽬前为⽌,我们进⾏的所有模式匹配都使⽤了字符串函数。
我们只限于进⾏精确匹配,或精确的⼦字符串匹配。
如果希望完成⼀些更负责的模式匹配,应该⽤正则表达式。
正则表达式在开始学习时很难掌握,但是却⾮常有⽤。
正则表达式 $用法

正则表达式 $用法
(原创版)
目录
1.正则表达式简介
2.$用法概述
3.$用法实例分析
4.$用法总结
正文
1.正则表达式简介
正则表达式(Regular Expression,简称 regex)是一种强大的文本处理工具,可以用来检查文本是否符合某种模式、提取文本中的特定信息等。
正则表达式广泛应用于计算机科学和编程领域,例如文本编辑器、搜索引擎、数据验证等场景。
2.$用法概述
在正则表达式中,$符号表示字符串的结尾。
$用法主要用于匹配字符串的最后一个字符或者表示字符串以某个字符结尾。
当需要在正则表达式中使用$时,需要在$符号前加上反斜杠()进行转义,以免被解释为特殊符号。
3.$用法实例分析
举例来说,如果我们想要匹配所有以字母 a 结尾的单词,可以使用以下正则表达式:
```
b[a-zA-Z]*[a-zA-Z]$b
```
这个正则表达式的意思是:
- `b`表示单词边界,用于匹配单词;
- `[a-zA-Z]`表示任意一个大写或小写字母;
- `*`表示前面的字符(字母)可以出现任意次;
- `[a-zA-Z]`表示最后一个字符必须是字母;
- `b`表示单词边界,用于匹配单词结尾。
这样,我们就可以匹配到所有以字母 a 结尾的单词,如"apple"、"banana"等。
4.$用法总结
$用法在正则表达式中起到了关键的作用,它可以帮助我们精确地匹配字符串的结尾。
在实际应用中,我们可以灵活运用$用法来处理各种文本问题。
正则表达式150种表达方式

正则表达式150种表达方式1、删除所有数字。
只要查找:\d就OK。
为了不留空行:替换处:\d2、删除所有英文字母。
只要查找:\a就OK。
为了不留空行:替换处:\d3、删除除换行符以外的所有。
只要查找:. 为了不留空行:替换处:\d4、既删除英文字母又删除数字。
只要查找:\w。
为了不留空行:替换处:\d5、删除数字加字母加等于(如:3a=或3zz=)只要查找:\d+\a+\=。
为了不留空行:替换处:\d6、删除换行。
只要查找:$。
替换处:\d(还原查找:\a+=\f。
替换:\0\n)。
如在换行后加一空格,查找:(\a)$。
替换:\0 \d。
7、删除空行只要查找:^$。
为了不留空行:替换处:\d8、删除首尾空格。
只要查找:^\s*|\s*$就OK9、删除行前数字及顿号。
只要查找:\d+、替换为空10、删除末尾标点符号。
只要查找:\P+$|\P+\s+$,“|”前面是没有空格的,“|”后面有空格,P后的加是为了……而用的。
11、删除末尾空格。
只要查找:\s+$。
替换为空。
12、删除第一个字如:“的我们”中的“的”只要查找:^\的。
13、删除第几个字。
查找:查找:^().(.+)。
替换:\1\2。
去掉前面的拼音:查找:^\a+替换为空。
第一个括号里可加“.”且可变。
14、删含的。
查:.*的.*替:\d。
的头查:.*=的.*替:\d。
的尾查:\a.*\c.*的$替:\d(留它不匹配)●删非的行查:^[^的]+$替:\d15、删除几码以上的码查:^(...)...替:\1。
删第几位码。
查:^(...).(.+)替:\1\2(变成\1,\2则其位则改成,了)首括号的.可变。
16、删除各类型的几字词,但必须是码前词后或纯词。
三字词:查找:^\~f{}\f{3}$替换:\d。
替换:\d “3”可以改。
17、删除11字词及其以上的词条查找(自定义格式):\a{}\=(\c|\P|\p){11,}。
替换:\d。
11可改。
20个常用的正则表达式 单字母

正则表达式(Regular Expression)是一种用于匹配字符串的强大工具。
它通过使用特定的符号和字符来描述和匹配一系列字符串,能够满足我们在处理文本时的各种需求。
在这篇文章中,我们将深入探讨20个常用的单字母正则表达式,并通过实例来展示它们的使用方法。
1. \b在正则表达式中,\b表示单词的边界。
它可以用来匹配单词的开头或结尾,用于查找特定单词而不是单词的一部分。
2. \d\d表示任意一个数字字符。
它可以用来匹配任何数字,例如\d+可以匹配一个或多个数字字符。
3. \w\w表示任意一个字母、数字或下划线字符。
它可以用来匹配单词字符,例如\w+可以匹配一个或多个单词字符。
4. \s\s表示任意一个空白字符,包括空格、制表符、换行符等。
它可以用来匹配空白字符,例如\s+可以匹配一个或多个空白字符。
5. \.\.表示匹配任意一个字符,包括标点符号和空格等。
它可以用来匹配任意字符,例如\.可以匹配任意一个字符。
6. \A\A表示匹配字符串的开始。
它可以用来确保匹配发生在字符串的开头。
7. \Z\Z表示匹配字符串的结束。
它可以用来确保匹配发生在字符串的结尾。
8. \b\b表示单词的边界。
它可以用来匹配单词的开头或结尾,用于查找特定单词而不是单词的一部分。
9. \D\D表示任意一个非数字字符。
它可以用来匹配任何非数字字符。
10. \W\W表示任意一个非单词字符。
它可以用来匹配任何非单词字符。
11. \S\S表示任意一个非空白字符。
它可以用来匹配任何非空白字符。
12. \[\[表示匹配方括号。
它可以用来匹配包含在方括号内的字符。
13. \]\]表示匹配方括号。
它可以用来匹配包含在方括号内的字符。
14. \(\(表示匹配左括号。
它可以用来匹配包含在左括号内的字符。
15. \)\)表示匹配右括号。
它可以用来匹配包含在右括号内的字符。
16. \{\{表示匹配左花括号。
它可以用来匹配包含在左花括号内的字符。
17. \}\}表示匹配右花括号。
正则表达式实用语法大全

正则表达式基本符号:^ 表示匹配字符串的开始位置 (例外用在中括号中[ ] 时,可以理解为取反,表示不匹配括号中字符串)$ 表示匹配字符串的结束位置* 表示匹配零次到多次+ 表示匹配一次到多次 (至少有一次)表示匹配零次或一次. 表示匹配单个字符| 表示为或者,两项中取一项( ) 小括号表示匹配括号中全部字符[ ] 中括号表示匹配括号中一个字符范围描述如[0-9 a-z A-Z]{ } 大括号用于限定匹配次数如 {n}表示匹配n个字符 {n,}表示至少匹配n个字符{n,m}表示至少n,最多m\ 转义字符如上基本符号匹配都需要转义字符如 \* 表示匹配*号\w 表示英文字母和数字 \W 非字母和数字\d 表示数字 \D 非数字常用的正则表达式匹配中文字符的正则表达式: [\u4e00-\u9fa5]匹配双字节字符(包括汉字在内):[^\x00-\xff]匹配空行的正则表达式:\n[\s| ]*\r匹配HTML标记的正则表达式:/<(.*)>.*<\/\1>|<(.*) \/>/匹配首尾空格的正则表达式:(^\s*)|(\s*$)匹配IP地址的正则表达式:/(\d+)\.(\d+)\.(\d+)\.(\d+)/g //匹配Email地址的正则表达式:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*匹配网址URL的正则表达式:http://(/[\w-]+\.)+[\w-]+(/[\w- ./?%&=]*)?sql语句:^(select|drop|delete|create|update|insert).*$1、非负整数:^\d+$2、正整数:^[0-9]*[1-9][0-9]*$3、非正整数:^((-\d+)|(0+))$4、负整数:^-[0-9]*[1-9][0-9]*$5、整数:^-?\d+$6、非负浮点数:^\d+(\.\d+)?$7、正浮点数:^((0-9)+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$8、非正浮点数:^((-\d+\.\d+)?)|(0+(\.0+)?))$9、负浮点数:^(-((正浮点数正则式)))$10、英文字符串:^[A-Za-z]+$11、英文大写串:^[A-Z]+$12、英文小写串:^[a-z]+$13、英文字符数字串:^[A-Za-z0-9]+$14、英数字加下划线串:^\w+$15、E-mail地址:^[\w-]+(\.[\w-]+)*@[\w-]+(\.[\w-]+)+$16、URL:^[a-zA-Z]+://(\w+(-\w+)*)(\.(\w+(-\w+)*))*(\?\s*)?$ 或:^http:\/\/[A-Za-z0-9]+\.[A-Za-z0-9]+[\/=\?%\-&_~`@[\]\':+!]*([^<>\"\"])*$17、邮政编码:^[1-9]\d{5}$18、中文:^[\u0391-\uFFE5]+$19、电话号码:^((\d2,3)|(\d{3}\-))?(0\d2,3|0\d{2,3}-)?[1-9]\d{6,7}(\-\d{1,4})?$20、手机号码:^((\d2,3)|(\d{3}\-))?13\d{9}$21、双字节字符(包括汉字在内):^\x00-\xff22、匹配首尾空格:(^\s*)|(\s*$)(像vbscript那样的trim函数)23、匹配HTML标记:<(.*)>.*<\/\1>|<(.*) \/>24、匹配空行:\n[\s| ]*\r25、提取信息中的网络链接:(h|H)(r|R)(e|E)(f|F) *=*('|")?(\w|\\|\/|\.)+('|"| *|>)?26、提取信息中的邮件地址:\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*27、提取信息中的图片链接:(s|S)(r|R)(c|C) *= *('|")?(\w|\\|\/|\.)+('|"| *|>)?28、提取信息中的IP地址:(\d+)\.(\d+)\.(\d+)\.(\d+)29、提取信息中的中国手机号码:(86)*0*13\d{9}30、提取信息中的中国固定电话号码:(\d3,4|\d{3,4}-|\s)?\d{8}31、提取信息中的中国电话号码(包括移动和固定电话):(\d3,4|\d{3,4}-|\s)?\d{7,14}32、提取信息中的中国邮政编码:[1-9]{1}(\d+){5}33、提取信息中的浮点数(即小数):(-?\d*)\.?\d+34、提取信息中的任意数字:(-?\d*)(\.\d+)?35、IP:(\d+)\.(\d+)\.(\d+)\.(\d+)36、电话区号:/^0\d{2,3}$/37、腾讯QQ号:^[1-9]*[1-9][0-9]*$38、帐号(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$39、中文、英文、数字及下划线:^[\u4e00-\u9fa5_a-zA-Z0-9]+$。
pattern 正则表达式大全

正则表达式是一种强大的文本匹配和处理工具,它可以在文本中进行复杂的匹配和替换操作。
无论是在编程语言中还是在各种文本处理工具中,正则表达式都扮演着重要的角色。
本文将为您详细介绍正则表达式的相关知识,包括基本语法、元字符、量词、分组、反向引用、预搜索等内容,帮助您深入了解和掌握正则表达式的用法和技巧。
一、正则表达式基础知识1.1 正则表达式概述正则表达式是一种用来描述、匹配一系列符合某个句法规则的字符串的表达式。
通过使用正则表达式,我们可以轻松地在文本中查找、替换符合特定模式的字符串,实现文本的快速处理和处理。
1.2 基本语法正则表达式的基本语法包括普通字符和特殊字符。
普通字符就是匹配其自身的字符,比如字母、数字、标点符号等;特殊字符则具有特殊的含义,比如"."匹配任意一个字符,"^"匹配字符串的开头,"$"匹配字符串的结尾等。
1.3 元字符元字符是正则表达式中具有特殊含义的字符,比如"."、"^"、"$"等。
通过使用元字符,我们可以实现更精确的匹配和替换操作。
二、正则表达式进阶技巧2.1 量词正则表达式中的量词用来指定匹配字符的数量,比如"*"表示零个或多个,"+"表示一个或多个,"?"表示零个或一个等。
通过使用量词,我们可以对文本中特定模式的字符串进行更精确的匹配。
2.2 分组正则表达式中的分组用来将多个字符组合成一个整体进行匹配,比如"(abc)"表示匹配"abc"这个字符串。
通过使用分组,我们可以更灵活地进行匹配和替换操作。
2.3 反向引用正则表达式中的反向引用用来引用前面匹配到的分组,比如"\1"表示引用第一个分组所匹配到的内容。
通过使用反向引用,我们可以实现一些复杂的匹配和替换操作。
正则表达式及应用

正则表达式及应⽤正则表达式及应⽤⼀、正则表达式(⼀)、概念:正则表达式(regular expression)就是由普通字符(例如a 到z)以及特殊字符(称为元字符)组成的⼀种字符串匹配的模式,可以⽤来检查⼀个串是否含有某种⼦串、将匹配的⼦串做替换或者从某个串中取出符合某个条件的⼦串等。
(⼆)、正则表达式中主要元字符:【其中常⽤的元字符⽤红⾊标出,红⾊的元字符必须掌握。
难点⽤蓝⾊标出,难点在⼀般的应⽤中并不常⽤】1.\将下⼀个字符标记为⼀个特殊字符、或⼀个原义字符、或⼀个向后引⽤、或⼀个⼋进制转义符。
例如,'n' 匹配字符"n"。
'\n' (newline)匹配⼀个换⾏符。
序列 '\\' 匹配 "\" ⽽"\(" 则匹配 "("。
…\r? (return)2.^匹配输⼊字符串的开始位置。
如果设置了 RegExp 对象的Multiline 属性,^ 也匹配 '\n' 或 '\r' 之后的位置。
3.$匹配输⼊字符串的结束位置。
如果设置了RegExp 对象的Multiline 属性,$ 也匹配 '\n' 或 '\r' 之前的位置。
4.*匹配前⾯的⼦表达式零次或多次。
例如,zo* 能匹配 "z" 以及 "zoo"。
* 等价于{0,}。
5.+匹配前⾯的⼦表达式⼀次或多次。
例如,'zo+' 能匹配 "zo"以及 "zoo",但不能匹配 "z"。
+ 等价于 {1,}。
6.?匹配前⾯的⼦表达式零次或⼀次。
例如,"do(es)?" 可以匹配 "do" 或 "does" 中的"do" 。
最全的常用正则表达式大全——包括校验数字、字符、一些特殊的需求等等

最全的常⽤正则表达式⼤全——包括校验数字、字符、⼀些特殊的需求等等很多不太懂正则的朋友,在遇到需要⽤正则校验数据时,往往是在⽹上去找很久,结果找来的还是不很符合要求。
所以我最近把开发中常⽤的⼀些正则表达式整理了⼀下,在这⾥分享⼀下。
给⾃⼰留个底,也给朋友们做个参考。
⼀、校验数字的表达式1数字:^[0-9]*$2 n位的数字:^\d{n}$3⾄少n位的数字:^\d{n,}$4 m-n位的数字:^\d{m,n}$5零和⾮零开头的数字:^(0|[1-9][0-9]*)$6⾮零开头的最多带两位⼩数的数字:^([1-9][0-9]*)+(.[0-9]{1,2})?$7带1-2位⼩数的正数或负数:^(\-)?\d+(\.\d{1,2})?$8正数、负数、和⼩数:^(\-|\+)?\d+(\.\d+)?$9有两位⼩数的正实数:^[0-9]+(.[0-9]{2})?$10有1~3位⼩数的正实数:^[0-9]+(.[0-9]{1,3})?$11⾮零的正整数:^[1-9]\d*$或^([1-9][0-9]*){1,3}$或^\+?[1-9][0-9]*$12⾮零的负整数:^\-[1-9][]0-9"*$或^-[1-9]\d*$13⾮负整数:^\d+$或^[1-9]\d*|0$14⾮正整数:^-[1-9]\d*|0$或^((-\d+)|(0+))$15⾮负浮点数:^\d+(\.\d+)?$或^[1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0$16⾮正浮点数:^((-\d+(\.\d+)?)|(0+(\.0+)?))$或^(-([1-9]\d*\.\d*|0\.\d*[1-9]\d*))|0?\.0+|0$17正浮点数:^[1-9]\d*\.\d*|0\.\d*[1-9]\d*$或^(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*))$18负浮点数:^-([1-9]\d*\.\d*|0\.\d*[1-9]\d*)$或^(-(([0-9]+\.[0-9]*[1-9][0-9]*)|([0-9]*[1-9][0-9]*\.[0-9]+)|([0-9]*[1-9][0-9]*)))$19浮点数:^(-?\d+)(\.\d+)?$或^-?([1-9]\d*\.\d*|0\.\d*[1-9]\d*|0?\.0+|0)$⼆、校验字符的表达式1汉字:^[\u4e00-\u9fa5]{0,}$2英⽂和数字:^[A-Za-z0-9]+$或^[A-Za-z0-9]{4,40}$3长度为3-20的所有字符:^.{3,20}$4由26个英⽂字母组成的字符串:^[A-Za-z]+$5由26个⼤写英⽂字母组成的字符串:^[A-Z]+$6由26个⼩写英⽂字母组成的字符串:^[a-z]+$7由数字和26个英⽂字母组成的字符串:^[A-Za-z0-9]+$8由数字、26个英⽂字母或者下划线组成的字符串:^\w+$ 或 ^\w{3,20}$9中⽂、英⽂、数字包括下划线:^[\u4E00-\u9FA5A-Za-z0-9_]+$10中⽂、英⽂、数字但不包括下划线等符号:^[\u4E00-\u9FA5A-Za-z0-9]+$或^[\u4E00-\u9FA5A-Za-z0-9]{2,20}$11可以输⼊含有^%&',;=?$\"等字符:[^%&',;=?$\x22]+12禁⽌输⼊含有~的字符:[^~\x22]+三、特殊需求表达式1 Email地址:^\w+([-+.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$2域名:[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(/.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+/.?3 InternetURL:[a-zA-z]+://[^\s]*或^http://([\w-]+\.)+[\w-]+(/[\w-./?%&=]*)?$4⼿机号码:^(13[0-9]|14[0-9]|15[0-9]|16[0-9]|17[0-9]|18[0-9]|19[0-9])\d{8}$ (由于⼯信部放号段不定时,所以建议使⽤泛解析^([1][3,4,5,6,7,8,9])\d{9}$)5电话号码("XXX-XXXXXXX"、"XXXX-XXXXXXXX"、"XXX-XXXXXXX"、"XXX-XXXXXXXX"、"XXXXXXX"和"XXXXXXXX):^(\(\d{3,4}-)|\d{3.4}-)?\d{7,8}$6国内电话号码(0511-*******、021-********):\d{3}-\d{8}|\d{4}-\d{7}7 18位⾝份证号码(数字、字母x结尾):^((\d{18})|([0-9x]{18})|([0-9X]{18}))$8帐号是否合法(字母开头,允许5-16字节,允许字母数字下划线):^[a-zA-Z][a-zA-Z0-9_]{4,15}$9密码(以字母开头,长度在6~18之间,只能包含字母、数字和下划线):^[a-zA-Z]\w{5,17}$10强密码(必须包含⼤⼩写字母和数字的组合,不能使⽤特殊字符,长度在8-10之间):^(?=.*\d)(?=.*[a-z])(?=.*[A-Z]).{8,10}$11⽇期格式:^\d{4}-\d{1,2}-\d{1,2}12⼀年的12个⽉(01~09和1~12):^(0?[1-9]|1[0-2])$13⼀个⽉的31天(01~09和1~31):^((0?[1-9])|((1|2)[0-9])|30|31)$14钱的输⼊格式:15 1.有四种钱的表⽰形式我们可以接受:"10000.00"和"10,000.00", 和没有"分"的"10000"和"10,000":^[1-9][0-9]*$16 2.这表⽰任意⼀个不以0开头的数字,但是,这也意味着⼀个字符"0"不通过,所以我们采⽤下⾯的形式:^(0|[1-9][0-9]*)$17 3.⼀个0或者⼀个不以0开头的数字.我们还可以允许开头有⼀个负号:^(0|-?[1-9][0-9]*)$18 4.这表⽰⼀个0或者⼀个可能为负的开头不为0的数字.让⽤户以0开头好了.把负号的也去掉,因为钱总不能是负的吧.下⾯我们要加的是说明可能的⼩数部分:^[0-9]+(.[0-9]+)?$19 5.必须说明的是,⼩数点后⾯⾄少应该有1位数,所以"10."是不通过的,但是"10"和"10.2"是通过的:^[0-9]+(.[0-9]{2})?$20 6.这样我们规定⼩数点后⾯必须有两位,如果你认为太苛刻了,可以这样:^[0-9]+(.[0-9]{1,2})?$21 7.这样就允许⽤户只写⼀位⼩数.下⾯我们该考虑数字中的逗号了,我们可以这样:^[0-9]{1,3}(,[0-9]{3})*(.[0-9]{1,2})?$22 8.1到3个数字,后⾯跟着任意个逗号+3个数字,逗号成为可选,⽽不是必须:^([0-9]+|[0-9]{1,3}(,[0-9]{3})*)(.[0-9]{1,2})?$23备注:这就是最终结果了,别忘了"+"可以⽤"*"替代如果你觉得空字符串也可以接受的话(奇怪,为什么?)最后,别忘了在⽤函数时去掉去掉那个反斜杠,⼀般的错误都在这⾥24 xml⽂件:^([a-zA-Z]+-?)+[a-zA-Z0-9]+\\.[x|X][m|M][l|L]$25中⽂字符的正则表达式:[\u4e00-\u9fa5]26双字节字符:[^\x00-\xff] (包括汉字在内,可以⽤来计算字符串的长度(⼀个双字节字符长度计2,ASCII字符计1))27空⽩⾏的正则表达式:\n\s*\r (可以⽤来删除空⽩⾏)28 HTML标记的正则表达式:<(\S*?)[^>]*>.*?</\1>|<.*? /> (⽹上流传的版本太糟糕,上⾯这个也仅仅能部分,对于复杂的嵌套标记依旧⽆能为⼒)29 ⾸尾空⽩字符的正则表达式:^\s*|\s*$或(^\s*)|(\s*$) (可以⽤来删除⾏⾸⾏尾的空⽩字符(包括空格、制表符、换页符等等),⾮常有⽤的表达式)30腾讯QQ号:[1-9][0-9]{4,} (腾讯QQ号从10000开始)31中国邮政编码:[1-9]\d{5}(?!\d) (中国邮政编码为6位数字)32 IP地址:\d+\.\d+\.\d+\.\d+ (提取IP地址时有⽤)33IP地址:((?:(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)\\.){3}(?:25[0-5]|2[0-4]\\d|[01]?\\d?\\d)) (由@飞龙三少提供,感谢共享)。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
一、正则表达式
正则表达式有两种posix和pcre以下例子没有特殊声明的话都是pcre
例子
二、正则表达式的基本语法
正则表达式由元字符和文本字符组成
元字符有特殊含义。
可以分为3类
1.表示界限
a)^,如果该字符位于整个表达式(子表达式)的开始,
他的含义是开始
b)$ 位于末尾表示结束
注意:在正则表达中有^,$表示严格匹配,如果没有表示包含
C)\b单词边界\B不是单词边界
2.表示字符
A). 任意字符
B)[]表示单个可选字符(一个)
[]经常和-联合使用
C)| 表示选择,n选一
D)^用在[]中表示不是
3.表示个数
A)* 0到n
B)+ 1到n
C)? 0到1
d) {m} m次
D){m,} 至少m次
E){m,n} m到n次
正则表达式的书写规则:
1.^,$表示开始结束时只能写在头尾
2. 表字符的写前边,表个数的写后边[0-9]{8} Posix 验证函数
1.ereg,eregi
2.ereg_replace,eregi_replace
3.split,spliti
正则表达式的修饰符、
1.i:不区分大小写
2.m:多行匹配
3.、U:取消贪婪模式(就近匹配)
字表达式,用()表示子表达式,字表达式也会在具有捕获功能函数中,被捕获
具体应用:
有一个网页,我想把他的新闻拿出来,作为我自己的新闻例子:
函数
1.preg_grep
2.preg_match,pre_match_all
3.preg_replace
Preg_replace $0---符合条件全串$1:第一个字表达式的内容……$n:第n字表达式的内容
Preg_quote。