首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

还不知道正则表达式,快来看看这篇文章

正则表达式(英语:Regular Expression,在代码中常简写为regex、regexp或RE)正则表达式使用单个字符串来描述、匹配一系列匹配某个句法规则的字符串。正则表达式可以帮助我们更好的描述复杂的文本格式。一旦你描述清楚了这些格式,那你就可以利用它们对文本数据进行检索、替换、提取和修改操作。

来源

1950年代,数学家斯蒂芬·科尔·克莱尼利用称之为“正则集合”的数学符号来描述此模型。肯·汤普逊将此符号系统引入编辑器QED,随后是Unix上的编辑器ed,并最终引入grep。自此以后,正则表达式被广泛地应用于各种Unix或类Unix系统的工具中。正则表达式的POSIX规范,分为基本型正则表达式(Basic Regular Expression,BRE)和扩展型正则表达式(Extended Regular Express,ERE)两大流派。在兼容POSIX的UNIX系统上,grepegrep之类的工具都遵循POSIX规范,一些数据库系统中的正则表达式也匹配POSIX规范。grep、vi、sed都属于BRE,是历史最早的正则表达式,因此元字符必须转译之后才具有特殊含义。egrep、awk则属于ERE,元字符不用转译。

基本语法

一个正则表达式通常被称为一个模式(pattern),为用来描述或者匹配一系列匹配某个句法规则的字符串。

举几个例子:

竖线代表选择(即或集),具有最低优先级。例如可以匹配grey或gray。

某个字符后的数量限定符用来限定前面这个字符允许出现的个数。最常见的数量限定符包括、和(不加数量限定则代表出现一次且仅出现一次):

加号代表前面的字符必须至少出现一次。(1次或多次)。例如,可以匹配google、gooogle、goooogle等;

问号代表前面的字符最多只可以出现一次。(0次或1次)。例如,可以匹配color或者colour;

星号代表前面的字符可以不出现,也可以出现一次或者多次。(0次、1次或多次)。例如,可以匹配42、042、0042、00042等。

圆括号可以用来定义操作符的范围和优先度。例如,等价于,匹配father和grandfather。

想学习更多的知识吗?

Python中如何利用正则表达式编程呢?本周大家一起来学习,欢迎关注公众号!

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20181211G1MTSP00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券