在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式 就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard) ,也就是* 和? 。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc 。在这里,* 会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串 (像010-12345678 或0376-7654321 )。
字符 是计算机软件处理文字时最基本的单位,可能是字母,数字,标点符号,空格,换行符,汉字等等。字符串 是0个或更多个字符的序列。文本 也就是文字,字符串。说某个字符串匹配 某个正则表达式,通常是指这个字符串里有一部分(或几部分分别)能满足表达式给出的条件。