作者/来源:新睿云 发布时间:2019-11-11
正则表达式(Regular expression,简写为Regexes)是一种用来操作和检验字符串数据的强大工具。它相当与一串特殊的字符,用它可以转换成算法,对文本进行匹配等操作。
事实上正则表达式有其自身的一套语法,这种语法对于初学者来说显得有些晦涩难懂。尤其是其构造比较困难,称为很多入门者的障碍。但当掌握后却可以轻易的解决以前不容易解决的很多文本类问题,如验证提取等。
其常用场合有如下三种:
1.测试字符串的某个模式。例如,可以对一个输入字符串进行测试,看在该字符串是否存在一个电话号码模式或一个信用卡号码模式。这称为数据有效性验证。
2.替换文本??梢栽谖牡抵惺褂靡桓稣虮泶锸嚼幢晔短囟ㄎ淖?,然后可以全部将其删除,或者替换为别的文字。
3.根据模式匹配从字符串中提取一个子字符串。可以用来在文本或输入字段中查找特定文字。
相关推荐文章《WIN7系统如何配置IIS》
Global属性,指查找范围,true为全部查找,false只查找第一个,如果上面案例中其属性改为false,那么只要该字符串中查找第一个a。
Pattern属性,指的是正则表达式。
下面讲下正则表达式的两个方法:
Execute方法,返回匹配成功的结果,是一个对象,通过for each 可以循环其中的值。
Replace方法,将匹配的结果做替换,regx.Replace(t, "o"),t为原字符串,第二个参数为要替换为的结果。
推荐相关应用:云数据库SQLServer 云数据库Redis
1.正声明(?=)
规定了括号中的模式必须出现在声明的右侧。模式将不构成匹配的一部分。
2.负声明(?!)
规定了括号中的模式不能出现在声明的右侧,模式将不构成匹配的一部分。
3.反向正声明(?<=)
规定了括号中的模式必须出现在声明的左侧,模式将不构成匹配的一部分。
4.反向负声明(?<!)
规定了括号中的模式必须出现在声明的左侧。模式不构成匹配的一部分。
5.非回溯(?>)
防止了正则表达式引擎搜索失败时回溯,这称之为贪婪的子表达式。
如输入字符串:He was very trusting.
正则表达式:.*ing将匹配trusting但是如果加入(?>)ing则不能完成匹配。
非回溯组也是非捕获组。他对于提高正则表达式的效率很有效。