Java - Regular Expression 介绍及例子解释(1)

阅读时间: 10分钟

Regular Expression 简称是 RegEx,中文叫规则运算式。
当我们在做资料筛选的时候,而又可能有很多条件限制或要求时,
可以使用正规表示式(Regular Expression)将我们想要选择的资料根据筛选的要求正确输出。
换个角度也可以说用来检查字串是不是有符合正确的条件限制或要求。

用于Regular Expression的基本字元
\
解释说明:
避开特殊字元
简单例子:

/A\*/ 

可用于比对 “A*”,其中 * 是可以作为一个特殊字元(*可以是一般字元),为避开其特殊意义,所以必须加上 “\”

^
解释说明:
比对输入列的字元开始位置
简单例子:

/^A/

可比对 “Abcd” 中的 “A”,但不可比对 “aAb”

$
解释说明:
比对输入列的字元尾部位置
简单例子:

/A$/ 

可比对 “bcdA” 中的 “A”,但不可比对 “aAb”

解释说明:
比对星号前一个字元零次或更多次
简单例子:

/bo*/

可比对 “Good boook” 中的 “booo”,亦可比对 “Good bk” 中的 “b”

解释说明:
比对加号前的一个字元一次或更多次,等效于 {1,}
简单例子:

/a+/

可比对 “caaandy” 中的 “aaa”,但不可比对 “cndy”

?
解释说明:
比对前一个字元零次或一次
简单例子:

/e?l/ 

可比对 “angel” 中的 “el”,也可以比对 “angle” 中的 “l”

.
解释说明:
比对任何一个字元(但换行符号不算)
简单例子:

/.n/

可比对 “nay, an apple is on the tree” 中的 “an” 和 “on”,但不可比对 “nay”

(x)
解释说明:
比对 x 并将符合的部分存入一个变数
简单例子:

/(a*) and (b*)/ 

可比对 “aaa and bb” 中的 “aaa” 和 “bb”,并将这两个比对得到的字串设定至变数 RegExp.$1 和 RegExp.$2。

xy
解释说明:
比对 x 或 y
简单例子:

/a*b*/g 

可比对 “aaa and bb” 中的 “aaa” 和 “bb”

{n}
解释说明:
比对前一个字元 n 次,n 为一个正整数
简单例子:

/a{3}/

可比对 “lllaaalaa” 其中的 “aaa”,但不可比对 “aa”

{n,}
解释说明:
比对前一个字元至少 n 次,n 为一个正整数
简单例子:

/a{3,}/ 

可比对 “aa aaa aaaa” 其中的 “aaa” 及 “aaaa”,但不可比对 “aa”

{n,m}
解释说明:
比对前一个字元至少 n 次,至多 m 次,m、n 均为正整数
简单例子:

/a{3,4}/ 

可比对 “aa aaa aaaa aaaaa” 其中的 “aaa” 及 “aaaa”,但不可比对 “aa” 及 “aaaaa”

[xyz]
解释说明:
比对中括弧内的任一个字元
简单例子:

/[ecm]/ 

可比对 “welcome” 中的 “e” 或 “c” 或 “m”

[^xyz]
解释说明:
比对不在中括弧内出现的任一个字元
简单例子:

/[^ecm]/ 

可比对 “welcome” 中的 “w”、”l”、”o”,可见出其与 [xyz] 功能相反。(同时请注意 /^/ 与 [^] 之间功能的不同。)

[\b]
解释说明:
比对退位字元(Backspace character)
简单例子:
可以比对一个 backspace ,也请注意 [\b] 与 \b 之间的差别


关于作者: 网站小编

码农网专注IT技术教程资源分享平台,学习资源下载网站,58码农网包含计算机技术、网站程序源码下载、编程技术论坛、互联网资源下载等产品服务,提供原创、优质、完整内容的专业码农交流分享平台。

热门文章