码迷,mamicode.com
首页 > 其他好文 > 详细

正则表达式

时间:2017-09-15 14:49:12      阅读:149      评论:0      收藏:0      [点我收藏+]

标签:asterisk   back   pattern   nerd   定位   如何   空白   ftp   符号   

提供了这样一种机制,我们可以用来从字符串中匹配特定字符串。如今规则表达式已经是一个ISO标准。

规则表达式是一种内容无关的语法。下面来解释它的一些基本操作符。

1、字符匹配操作符

.匹配任何一个字符,如".ord"可以匹配"lord","cord","2ord"等等。

[]匹配任何一个在中括弧中列出的字符。如"[a-z]ord"可以匹配"aord","bord","ford"等等。如果在[]中使用-,就表示某个范围,其前后两个字符号是范围的边界。要在字符类中匹配连字符,那么把连字符号作为第一个字符列出即可。

[^]匹配任何一个不在中括弧中列出的字符。如"[^ab]ord"可以匹配"cord","dord",但不能匹配"aord","bord"。

2、重复操作符

?匹配任何字符一次,如果这个字符号存在的话。如"?erd"可以匹配"erd","aerd","berd"等等。

*匹配声明的字符零到多次。如“n.*rd”可以匹配“nerd”,“nrd”,“neard”等等。

+匹配声明的字符至少一次。如“[n]+erd”可以匹配“nerd”,“nnerd”,但不能匹配“erd”。

{n}匹配声明的字符n次。如“[a-z]{2}erd”可以匹配“cherd”,“blerd”,etc。但不能匹配“nerd”,“erd”,“buzzerd”。

{n,}匹配声明的字符至少n次。如“.{2,}erd”可以匹配“cherd”and“buzzerd”,但不能匹配“nerd”。

{n,m}匹配声明的字符n到m次。如“n[e]{1,2}rd”可以匹配“nerd”and“neerd”。

3、定位操作符

^一行的开始位置

$一行的结束位置

\<某个单词的开始位置

\>某个单词的结束位置

\b某个单词的开始位置或者结束位置

\B某个单词的中间位置

4、组合操作符

()表示()内是几个规则表达式的组合。如“([a]|[]b)erd"匹配"aerd","berd"。

5、交替操作符

|匹配|前后两组规则表达式。如“([a]|[b])erd"匹配"aerd","berd"。

6、保留字

以下这些字符在规则表达式语法中是有特殊意义的字符,不能被直接当字符来使用。这些字符被称为保留字。

^(carat)

。(period)

[(leftbracket}

](rightbracket}

$(dollarsign)

((leftparenthesis)

)(rightparenthesis)

|(pipe)

*(asterisk)

+(plussymbol)

?(questionmark)

{(leftcurlybracket,orleftbrace)

}(rightcurlybracket,orrightbrace)

\backslash

如果想使用保留字作为实际字符来使用,需要在该保留字前面加反斜线blackslash(\)

在一些unix工具中,一般用正斜杠slash(/)包围所描述的规则表达式,如[A-Z]+(abc|xyz)*/

某些规则表达式工具或某些语言中还定义了一些转义的字符,比如\w代表空白字符,\d代表数字,就相当于定义了[]和[0-9]的快捷方式。当使用具体大工具或语言的规则表达式时,要去了解这些特定的定义。

 

下面以Java中规则表达式为例,演示如何在Java中使用规则表达式。

1、匹配字符串是否

Pattern。mateches("[[0-9]{2}","00");#returntrue

Pattern。mateches("[[0-9]{2}","a00");#returnfalse

Pattern。mateches("[[a-z0-9]*","a00");#returntrue

 

正则表达式

标签:asterisk   back   pattern   nerd   定位   如何   空白   ftp   符号   

原文地址:http://www.cnblogs.com/hjyxbfz/p/7526078.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!