天宇的JAVA空间站


JAVA里的正则表达式

07-09-07 23:59Update

LifevV.COM编辑部

我们很多时候需要处理像这样的需求:判断用户的输入是否为email地址,是否是英文或数字等等。怎么简单地去处理类似需求呢?

Page:  <1|2|3>

当然,我们可以使用常规的方法来解决这些问题。
但在很多情况下,我们可以用正则表达式来非常简单地完成这些任务。

什么是正则表达式呢?怎么使用正则表达式?
下面我们将来说明正则表达式并举例说明其用法。

正则表达式概述:
一个正则表达式可以由普通字符或元字符组合而成。元字符指具有特殊意义的字符。


正则表达式入门:
表达式 说明 使用例
^ 匹配一行的开头。 例:1,^hello。匹配行头以hello开头的字符串。
$ 匹配一行的结尾 例:1,hello$。匹配行尾以hello结尾的字符串。
. 匹配改行以外的任何字符 例:1,hello.world。匹配诸如hello world,hello-world等字符串。
[] 匹配被括起来的任何一个字符 例:1,[abc]。匹配a或者b或者c。
    2,r[aeu]d。匹配rad或red或rud。
[A-Z] 匹配从A-Z的任一个字符。 例:1,a[A-Z]c。匹配aAc,aBc,…,aZc。
[a-z] 匹配从a-z的任一个字符。 例:1,a[a-z]c。匹配aac,abc,…,azc。
[0-9] 匹配从0-9的任一个数字。 例:1,a[0-9]c。匹配a0c,a1c,…,a9c。
[^] 匹配任何没有被括起来的一个字符。与[]相左。 例:1,[^abc]。则匹配除a或b或c以外的其他字符。
* 匹配*前面的一个字符任意次数(0到多次)。 例:1,ab*。则匹配a或ab或abb,abbb等
+ 匹配+前面一个字符1到多次。 例:1,ab+。则匹配ab或abb或abbb,abbbb等
? 匹配?前面一个字符0到1次。 例:1,ab?。则匹配a或ab。
{n} 匹配之前一个字符n次。n为整数。 例:1,ab{2}。则匹配abb。
{n,} 匹配之前一个字符n次或大于n次。n为整数。 例:1,ab{2,}。则匹配abb,abbb等。
{n,m} 匹配之前一个字符大于等于n次,小于等于m次。n,m为整数。 例:1,ab{2,5}。则匹配abb,abbb,abbbb,abbbbb。
| 匹配条件的或(OR)运算。匹配之前的运算式或匹配之后的运算式。 例:1,hello|world。则匹配hello或者world。
() 分组。被()括起来的运算式被看作为一组(group)。可以用1,9来加以引用。

Page:  <1|2|3>
 
Copyright ©2006-2010 lifevv.com. All Rights Reserved
POWERED BY @pmplat.syboos.com