正则表达式及其作用

来源:互联网 发布:开票软件打不开 编辑:程序博客网 时间:2024/05/17 03:36

此博客转自:http://blog.sina.com.cn/s/blog_6352288d0100hixo.html

在编写处理字符串的程序或者网页时,经常会有查找符合某些复杂规则的字符串的需要,正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。

  用户很可能使用过Windows中用于文件查找的通配符,也就是*和?。如果想要查找某个目录下的所有的Word文档的话,用户可以搜索*.doc。在这里,*被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述用户的需求,当然,代价就是更复杂,例如,用户可以编写一个正则表达式用来查找所有一0开头,后面跟着2-3位数字,然后是一个连字符“-”,最后是7位或者8位数字的字符串(如0010-12345678或者0376-7654321)。
  正则表达式适用于进行文字匹配的工具,所以本文中多次提到了在字符串里面搜索/查找,这种说法的意思是在给定的字符串中,寻找与给定的正则表达式相匹配的部分。有可能字符串里又不知一个部分满足给定的正则表达式,这时每一个这样的部分都被称为一个匹配。
总体来说,正则表达式有以下三种作用:
(1)测试字符串的某个模式。例如,可以输入一个字符串进行测试看该字符串中是否存在一个电话号码模式或者一个信用卡模式,这成为数据的有效性检验。
(2)替换文本。可以再文档中使用一个正则表达式来表示特定文字,然后可以将其全部删除或者替换成别的文字。
(3)根据模式匹配从字符串中提取一个子字符串。可以用来在文本或者输入字段中查找特定的文字。
  一个正则表达式是由普通字符(如字符a-z)以及特殊字符(又称为元字符)组成文本模式。在查找文字主体时该模板描述待匹配的一个或者多个字符。正则表达式作为一个模板将某个字符模式与所搜索的字符串进行匹配。
正则表达式的语法如下所示:
/匹配对象的模式/
  其中,位于之间的部分就是将要在目标字符串中进行匹配的模式。在使用时,用户只需要将希望查找的匹配对象模板内容放入“//”定界符之间即可。
例如,在字符串“TestDemo”中查找匹配模式Test,就可以使用如下代码:
/Test/
0 0
原创粉丝点击