字符匹配符和选择匹配符
【摘要】 元字符-字符匹配符符号作用示例解释[ ]可接收的字符列表[abcd]a、b、c、d中的任意一个字符[^]不可接收的字符列表[^abc]除了a、b、c之外的任意一个字符,包括数字和特殊符号-连字符A-Z任意单个大写字母符号含义示例说明匹配输入.匹配除\n以外的任何字符a..b以a开头,b结尾,中间包括2个任意字符的长度为4的字符串aaab、abcb、a12b、a*#b\d匹配单个数字字符,相当...
元字符-字符匹配符
符号 | 作用 | 示例 | 解释 |
---|---|---|---|
[ ] | 可接收的字符列表 | [abcd] | a、b、c、d中的任意一个字符 |
[^] | 不可接收的字符列表 | [^abc] | 除了a、b、c之外的任意一个字符,包括数字和特殊符号 |
- | 连字符 | A-Z | 任意单个大写字母 |
符号 | 含义 | 示例 | 说明 | 匹配输入 |
---|---|---|---|---|
. | 匹配除\n以外的任何字符 | a..b | 以a开头,b结尾,中间包括2个任意字符的长度为4的字符串 | aaab、abcb、a12b、a*#b |
\d | 匹配单个数字字符,相当于[0-9] | \d{3}(\d)? | 包含3个或4个数字的字符串 | 123、4567 |
\D | 匹配单个非数字字符,相当于[^0-9] | \D(\d)* | 以单个非数字字符开头,后接任意个数的字符串 | a、A123 |
\w | 匹配单个数字,大小写字母字符,相当于[0-9 a-z A-Z] | \d{3}\\w{4} | 以3个数字字符开头的长度为7的数字字母字符串 | 12345ab、789abcd |
\W | 匹配单个非数字,大小写字母字符,相当于[^0-9 a-z A-Z] | \W+\d{2} | 以至少一个非数字字母字符开头,2个数字字符结尾的字符串 | #11、@?20 |
演示字符匹配符的使用
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp03 {
public static void main(String[] args) {
String content = "a11c8abc _ABCy @";
//String regStr = "[a-z]";//匹配 a-z 之间任意一个字符
//String regStr = "[A-Z]";//匹配 A-Z 之间任意一个字符
//String regStr = "abc";//匹配 abc 字符串[默认区分大小写]
//String regStr = "(?i)abc";//匹配 abc 字符串[不区分大小写]
//String regStr = "[0-9]";//匹配 0-9 之间任意一个字符
//String regStr = "[^a-z]";//匹配 不在 a-z 之间任意一个字符
//String regStr = "[^0-9]";//匹配 不在 0-9 之间任意一个字符
//String regStr = "[abcd]";//匹配 在 abcd 中任意一个字符
//String regStr = "\\D";//匹配 不在 0-9 的任意一个字符
//String regStr = "\\w";//匹配 大小写英文字母, 数字,下划线
//String regStr = "\\W";//匹配 等价于 [^a-zA-Z0-9_]
//\\s 匹配任何空白字符(空格,制表符等)
//String regStr = "\\s";
//\\S 匹配任何非空白字符 ,和\\s 刚好相反
//String regStr = "\\S";
//. 匹配出 \n 之外的所有字符,如果要匹配.本身则需要使用 \\. String regStr = ".";
//说明
//1. 当创建 Pattern 对象时,指定 Pattern.CASE_INSENSITIVE, 表示匹配是不区分字母大小写. Pattern pattern = Pattern.compile(regStr/*, Pattern.CASE_INSENSITIVE*/);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
System.out.println("找到 " + matcher.group(0));
}
}
}
元字符-选择匹配符
在匹配某个字符串的时候是选择性的。即:既可以匹配这个,也可以匹配那个,只是需要用到选择匹配符 |
符号 |
符号 |
示例 |
解释 |
| |
匹配"|"之前或者之后的表达式 |
ab|cd |
ab或者cd |
演示选择匹配符的使用
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class RegExp04 {
public static void main(String[] args) {
String content = "hanshunping 韩 寒冷";
String regStr = "han|韩|寒";
Pattern pattern = Pattern.compile(regStr/*, Pattern.CASE_INSENSITIVE*/);
Matcher matcher = pattern.matcher(content);
while (matcher.find()) {
System.out.println("找到 " + matcher.group(0));
}
}
}
【声明】本内容来自华为云开发者社区博主,不代表华为云及华为云开发者社区的观点和立场。转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息,否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱:
cloudbbs@huaweicloud.com
- 点赞
- 收藏
- 关注作者
评论(0)