java 打印元字符_Java正则表达式-元字符

Java正则表达式-元字符

元字符是Java正则表达式中具有特殊含义的字符。

Java中的正则表达式支持的元字符如下:

()[] {{\ ^ $ |?* +。<>-=!

1 Character类

元字符[并]在正则表达式内指定字符类。

字符类是一组字符。正则表达式引擎将尝试匹配集合中的一个字符。

字符类“ [ABC]”将匹配字符A,B或C。例如,字符串“ woman”或“ women”将匹配正则表达式“ wom [ae] n”。

我们可以使用字符类来指定字符范围。

该范围使用连-字符表示。

例如,[A-Z]代表任何大写英文字母;“ [0-9]”表示0到9之间的任何数字。

^意思不是。

例如,[^ABC]表示除A,B和C之外的任何字符。

字符类[^A-Z]表示除大写字母以外的任何字符。

如果^除开头以外出现在字符类中,则它仅与^字符匹配。

例如,“ [ABC ^]”将匹配A,B,C或^。

您还可以在一个字符类中包括两个或更多范围。例如,[a-zA-Z]匹配任何字符a到z和A到Z。

[a-zA-Z0-9]匹配从a到z的任何字符(大写和小写),以及从0到9的任何数字。

下表提供了字符类的示例

字符a到z

角色类

含义

[abc]

字符a,b或c

[^ xyz]

x,y和z以外的字符

[az]

[a-cx-z]

字符a到c或x到z,其中包括a,b,c,x,y或z。

[0-9 && [4-8]]

两个范围的交集(4、5、6、7或8)

[az && [^ aeiou]]

所有小写​​字母减元音

2 预定义字符类

下表列出了一些常用的预定义字符类。

预定义

字符

含义

任何字符

\ d

一个数字。与[0-9]相同

\ D

一个非数字。与[^ 0-9]相同

\ s

空格字符。与[\ t \ n \ x0B \ f \ r]相同。

空间

一个标签

新线

垂直标签

换页

回车符

\ S

非空白字符。与[^ \ s]相同

\ w

文字字符。与[a-zA-Z_0-9]相同。

\ W

非单词字符。与[^ \ w]相同

3 示例1

以下代码用于\d匹配所有数字。

\\d在字符串中使用来转义\。

import java.util.regex.Matcher;

import java.util.regex.Pattern;

public class Main {

public static void main(String args[]) {

Pattern p = Pattern.compile("Java \\d");

String candidate = "Java 4";

Matcher m = p.matcher(candidate);

if (m != null)

System.out.println(m.find());

}

}

上面的代码生成以下结果。

true

2 示例2

import java.util.regex.Matcher;

import java.util.regex.Pattern;

// w w w. java2s . c om

public class Main {

public static void main(String args[]) {

String regex = "\\w+";

Pattern pattern = Pattern.compile(regex);

String candidate = "asdf Java2s.com";

Matcher matcher = pattern.matcher(candidate);

if (matcher.find()) {

System.out.println("GROUP 0:" + matcher.group(0));

}

}

}

上面的代码生成以下结果。

GROUP 0:asdf

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值