Java正则表达式的简单介绍以及使用

正则表达式主要是为了方便我们提取一个字符串中感兴趣的部分,尤其在爬虫中应用广泛。我们下面就简单介绍一下其用法。并不做深入研究,只是介绍其使用的方法。

1、matches方法的介绍

这个方法主要是确定给定的字符串是否由你给定的规则组成,什么意思呢。打个比方,I am Chinese,这句话是不是由 英文字母+空格组成。所以他的正则字符串就是"(\\w+ *)+"(注意中间有个空格,且由于最后一个字符后面没有空格,所以要用*进行匹配,表示可以没有或者有多个)。这个方法要求完全匹配。
这个方法返回的是一个Boolean值,具体用法:

public class Test01 {
    public static void main(String[] args) {
        String string = "123456789abc";
        String regex2 = "(\w+ *)+";
        //方式一
        boolean matches = string.matches(regex2);
        System.out.println("matches = " + matches);

		//方式二
        boolean matches5 = Pattern.matches(regex2, string);
        System.out.println("matches5 = " + matches5);

		//方式三
        Pattern compile = Pattern.compile(regex2);
        Matcher matcher = compile.matcher(string);
        boolean matches6 = matcher.matches();
        System.out.println("matches6 = " + matches6);
    }
}

2、find用法

这个就是matches方法的宽松版,不要求完全匹配,只要求包含就可以,类似于contains方法。

Pattern compile = Pattern.compile(regex2);
Matcher matcher = compile.matcher(string);
boolean matches = matcher.matches();

3、如何提取我们感兴趣的字符串呢

使用group
测试字符串 str = “I am Chinese 我为武汉加油”,提取其中的中文字符。

public class Test03 {
    public static void main(String[] args) {
        String str = "I am Chinese 我为武汉加油";
        String regex = "[\\u4e00-\\u9fa5]+";
        Matcher matcher = Pattern.compile(regex).matcher(str);
        //必须先执行这条语句,否则直接执行matcher.group()会一直报错
        boolean isFind = matcher.find();  
        if (isFind){  //建议先进行查找,如果找到了就取出找到的字符串,找不到的话执行.group会报错
            String group = matcher.group();
            System.out.println("group = " + group);
        }
    }
}
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Java正则表达式简单使用包括使用Pattern类和Matcher类来进行正则匹配和替换操作。 首先,我们需要导入java.util.regex包中的Matcher和Pattern类。可以使用以下语句导入: import java.util.regex.Matcher; import java.util.regex.Pattern; 接下来,我们可以使用Pattern.compile()方法来编译正则表达式模式,以便可以重复使用该模式。例如: Pattern p = Pattern.compile("a*b"); 然后,我们可以使用Matcher类的matcher()方法来创建一个Matcher对象,并通过调用matches()方法来检查字符串是否匹配该模式。例如: Matcher m = p.matcher("aaaaab"); boolean b = m.matches(); 此外,我们还可以使用Matcher类的replaceAll()方法来替换匹配到的字符串。例如: String str = "java123456Regular6543210Expression"; String regex = "\\d{5,}"; str = str.replaceAll(regex, "#"); 在这个例子中,我们使用正则表达式"\\d{5,}"来匹配字符串中连续的至少5个数字,并将其替换为"#"。最终输出结果为"java#Regular#Expression"。 综上所述,这是Java正则表达式简单使用方法。可以通过Pattern和Matcher类来编译、匹配和替换字符串中的模式。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [Java 正则表达式的用法与实例](https://blog.csdn.net/llg___/article/details/125295269)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] - *2* [java正则表达式使用](https://blog.csdn.net/dansam/article/details/88840858)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值