正则表达式(正则表达式)
1。正则表达式是什么总之,正则表达式是一种处理字符串匹配的语言;
正则表达式描述了一种字符串匹配的模式,可以用来检查一个字符串是否包含子字符串,并提取或替换匹配的子字符串。
二、正则表达式的应用
正则表达式在实际开发过程中非常实用,可以很快地解决一些复杂的字符串处理问题。
第一:数据验证
例如,如果你想验证一个字符串是正确的电邮、电话、IP等,它的正则表达式的使用非常方便。
第二类:内容查找
例如,你必须抓取一张网页的图片,所以你必须找到标签,你可以用正则表达式精确地匹配它。
第三:内容替换
例如,你必须把电话号码中间的四个地方隐藏到这个模式中,123×**×4567,使用正则表达式会非常方便。
三。正则表达式是什么
现在我将简要介绍正则表达式:
1,正则表达式的几个重要概念
子表达式:在正则表达式中,如果()的使用,它被称为子表达式。
捕获:的子表达式匹配的结果将由系统放在缓冲区,我们称之为捕获
反向引用:我们使用
2,数量限定符
x表示:1或更多
X *说:0或更多
X说:0或1
x }表示:n
x,n,}代表至少n
X,N,M }说:n到m,贪婪,尽可能多;如果你在后面加上它这是非贪婪的原则。
注意:x表示要查找的字符。
3,字符限定符
◎D说:匹配一个数字字符0-9 },{
◎D说:匹配一个非数字字符,^ 0-9 } {
◎W说:匹配单词字符包括强调0-9a-za-z_ },{
◎W说:匹配任何非单词字符,{ ^ 0-9a-za-z_ }
表示:匹配任何空白字符、空格、返回符、制表符。
s表示它匹配任何非空白字符。
表示:匹配任何单个字符。
也有以下:
范围:{ } {字符a-z,A-Z },{ 0-9 },{ 0-9a-z },{ 0-9a-za-z }
任意字符:{ },{ 1234 }
Non - internal characters: {^a-z}, {^0-9}, {^abcd}
4。定位器
表达式:开始标记
$表达式:结束标志
单词边界
这是一个非词边界。
5。
用于匹配某些特殊字符
6。选择一个匹配
|可以匹配多个规则
7。特殊用法
(=):前预检:字符串匹配指定的内容结束
(!):阴性预检:比赛不是一个字符串,以指定的内容
())不要将选择匹配的内容放在缓冲区中。
四,在javascript下使用正则表达式的方法
在javascript下使用正则表达式有两种方法:
第一种方法:使用正则表达式类
所提供的方法如下:
测试(STR):在字符串匹配中匹配匹配模式的字符串,并返回true false
返回与匹配模式匹配的匹配字符串。如果存在,返回相应的字符串,不,返回null;
如果一个表达式和正则表达式,使用exec方法
返回是:结果{ 0 } =结果{ 1 } =匹配结果,匹配子表达式1的结果……
第二种方法是使用String类。
所提供的方法如下:
搜索:返回匹配模式中字符串的位置,否则返回到1。
匹配:返回匹配匹配模式的匹配字符串。如果存在,返回一个数组,不,返回null
替换:用匹配模式替换匹配字符串。
拆分:字符串匹配模式作为字符串的分隔符分隔,数组返回给数组。
五,在PHP下使用正则表达式的方法
有两种函数在PHP下使用正则表达式:
第一个是Perl正则表达式函数。
所提供的方法如下:
preg_grep --一个阵列单元返回到模式匹配
preg_match_all全局正则表达式匹配
preg_match --正则表达式匹配
preg_quote --正则正则表达式的字符
preg_replace_callback --搜索和替换正则表达式和一个回调函数
preg_replace --搜索和替换正则表达式
preg_split --正则表达式的字符串分割
二是:POSIX正则表达式函数
所提供的方法如下:
ereg_replace --替换正则表达式
EREG --正则表达式匹配
eregi_replace --不区分大小写的正则表达式
eregi --任何情况下不分青红皂白的正则表达式匹配
拆分——用正则表达式将字符串拆分为数组
spliti --把一个字符串转换成一个一个正则表达式数组,不区分大小写
sql_regcase生产非尺寸匹配正则表达式
六。总结
正则表达式是我们实现函数的工具。
1、功能强大
正则表达式中各种限定符的不同组合将实现不同的函数。有时实现一个复杂的函数需要编写一个非常长的正则表达式,以及如何精确匹配,这将测试程序员的能力。
2、简单方便
通常,我们正在搜索字符串内容。我们只能搜索一个特定的字符串,但是正则表达式可以帮助我们找到模糊搜索,更快更方便,只需要一个正则表达式字符串。
三.基本支持所有语言。
目前,主流语言如java,PHP,Javascript,C #、C++等主流语言都支持正则表达式。
4。学习简单,应用非常高。
学习正则表达式很容易,但如何在实际开发中编写高效、精确的正则表达式仍然需要很长时间才能积累。
如果您想快速介绍一下这篇文章,请看这篇文章:
正则表达式30分钟入门课程