字符匹配符和选择匹配符

举报
周小末天天开心 发表于 2022/12/31 17:52:40 2022/12/31
1k+ 0 0
【摘要】 元字符-字符匹配符符号作用示例解释[ ]可接收的字符列表[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

抱歉,系统识别当前为高风险访问,暂不支持该操作

    全部回复

    上滑加载中

    设置昵称

    在此一键设置昵称,即可参与社区互动!

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

    *长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。