精通正则表达式学习记录 第一章 正则表达式入门

语言的差异

任何语言中都存在着不同的方言和口音,正则表达式语言也是这样。情况似乎是,每一种支持正则表达式的语言都提供自己的“改进”。

正则表达式的目标

一个正则表达式要么能够匹配给定的文本(对egrep来说,就是一行文本)中的某些字符,要么不能匹配。
下面给出了更多的例子

  1. 变量名:标识符质保函字母、数字以及下划线,但不能以数字开头。可以用正则表达式[a-zA-Z_][a-zA-Z_0-9]*来匹配标识符。
  2. 引号内的字符串:"[^"]"
  3. 美元金额:\$[0-9]+(\.[0-9][0-9])?是一种匹配美元金额的办法。
  4. HTTP/HTML URL:URL通常的模式是:http://hostname/path.html,但是用htm结尾的也很正常。可以写一个正则来大致匹配:\<http://[a-z0-9_.:]+/[-a-z0-9_:@&?=+,.!/~*%$]*\.html?\>。虽然写的较好,但上述还是可能匹配到不合法的URL
  5. HTML tag:要匹配想<title>这样的标签最简单的可能会想到使用<.*>,但是会匹配到不止一个tag的内容
  6. 表示时刻的文字,例如“9:17 am”或“12:30 pm”。(1[012]|[1-9]):[0-5][0-9]。(am|pm)

正则表达式属于汇总

正则(regex)

作为正则表达式的简称

匹配

一个正则表达式“匹配”一个字符串,其实指的是这个正则表达式能在字符串中找到匹配文本。

元字符

一个字符是否是元字符(或者是元字符序列,这两个概念是相等的),取决于应用的具体情况。正则表达式的流派不同,关于转义的规定也不同。

流派

不同的流派具有的元字符具有一定的差异
流派和工具不是相等的,

子表达式

例子:正则^(Subject|Date):。*中,可以有以下子表达式:
Subject|DateSubjectDate也可以是,甚至连Su等单词也是可以成为子表达式。

字符

常常与编码结合才有意义,也就是不同的编码字符有不同含义。

学习正则的几个要点

  1. 正则表达式的使用
  2. 正则表达式的特性:选择合适的工具是成功的一半
  3. 正则表达式的工作原理:正则表达式引擎不同,工作原理也不同。
    弄懂原理才是真正理解的关键。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值