找回密码
 注册
搜索
热搜: 超星 读书 找书
查看: 903|回复: 2

[【原创】] 正则表达式到底是什么?

[复制链接]
skytear 该用户已被删除
发表于 2007-11-9 15:51:22 | 显示全部楼层 |阅读模式
在编写处理字符串的程序或网页时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。
很可能你使用过Windows/Dos下用于文件查找的通配符(wildcard),也就是*和?。如果你想查找某个目录下的所有的Word文档的话,你会搜索*.doc。在这里,*会被解释成任意的字符串。和通配符类似,正则表达式也是用来进行文本匹配的工具,只不过比起通配符,它能更精确地描述你的需求——当然,代价就是更复杂——比如你可以编写一个正则表达式,用来查找所有以0开头,后面跟着2-3个数字,然后是一个连字号“-”,最后是7或8位数字的字符串(像010-12345678或0376-7654321)。
正则表达式是用于进行文本匹配的工具,所以本文里多次提到了在字符串里搜索/查找,这种说法的意思是在给定的字符串中,寻找与给定的正则表达式相匹配的部分。有可能字符串里有不止一个部分满足给定的正则表达式,这时每一个这样的部分被称为一个匹配。匹配在本文里可能会有三种意思:一种是形容词性的,比如说一个字符串匹配一个表达式;一种是动词性的,比如说在字符串里匹配正则表达式;还有一种是名词性的,就是刚刚说到的“字符串中满足给定的正则表达式的一部分”。
回复

使用道具 举报

发表于 2007-11-9 16:47:03 | 显示全部楼层
Regular expression 确实非常有用,有些工作用它来实现简直是太方便了!可惜目前支持全集的 Regular expression 的软件很少,能支持一部分就算不错的了。
回复

使用道具 举报

发表于 2007-11-10 14:16:24 | 显示全部楼层
在编译器中,程序语言的语法和词法的判定常用正则表达式表示。
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则

Archiver|手机版|小黑屋|网上读书园地

GMT+8, 2024-5-24 03:51 , Processed in 0.277839 second(s), 8 queries , Redis On.

Powered by Discuz! X3.5

© 2001-2024 Discuz! Team.

快速回复 返回顶部 返回列表