正则表达式基本语法详解

正则表达式基本语法详解 正则表达式详解?

正则表达式详解?

正则表达式详解?

正则表达式在字符串模式匹配和判定是有着重要的作用,但其语法相对比较复杂,此处碍于篇幅,无法一一解答。正则表达式是对字符串操作的一种逻辑公式,就是用事先定义好的一些特定字符、及这些特定字符的组合,组成一个“规则字符串”,这个“规则字符串”用来表达对字符串的一种过滤逻辑。

正则表达式例子详解?

一、行定位符(^和$)

行定位符就是用来描述字串的边界。“^”表示行的开始;“$”表示行的结尾。如:

^tm : 该表达式表示要匹配字串tm的开始位置是行头,如tm equal Tomorrow Moon就可以匹配

tm$ : 该表达式表示要匹配字串tm的位置是行尾,Tomorrow Moon equal tm匹配。

如果要匹配的字串可以出现在字符串的任意部分,那么可以直接 写成 :tm

二、单词定界符(\\、\\B)

单词分界符\\,表示要查找的字串为一个完整的单词。如:\\tm\\

还有一个大写的\\B,意思和\\相反。它匹配的字串不能是一个完整的单词,而是其他单词或字串的一部分。如:\\Btm\\B

三、字符类([ ])

正则表达式是区分大小写的,如果要忽略大小写可使用方括号表达式“[]”。只要匹配的字符出现在方括号内,即可表示匹配成功。但要注意:一个方括号只能匹配一个字符。例如,要匹配的字串tm不区分大小写,那么该表达式应该写作如下格式:[Tt][Mm]

POSIX风格的预定义字符类如表所示:

  

四、选择字符(|)

还有一种方法可以实现上面的匹配模式,就是使用选择字符(|)。该字符可以理解为“或”,如上例也可以写成 (T|t)(M|m),该表达式的意思是以字母T或t开头,后面接一个字母M或m。

使用“[]”和使用“|”的区别在于“[]”只能匹配单个字符,而“|”可以匹配任意长度的字串。如果不怕麻烦,上例还可以写为 :TM|tm|Tm|tM

五、连字符(-)

变量的命名规则是只能以字母和下划线开头。但这样一来,如果要使用正则表达式来匹配变量名的第一个字母,要写为 :[a,b,c,d…A,B,C,D…]

这无疑是非常麻烦的,正则表达式提供了连字符“-”来解决这个问题。连字符可以表示字符的范围。如上例可以写成 :[a-zA-Z]