JAVA正则表达式的简单用法介绍

java正则表达式的简单用法介绍

本文纯属自身学习记录,不喜勿喷

正则表达式是什么?

参考回答:

在编写处理字符串的程序时,经常会有查找符合某些复杂规则的字符串的需要。正则表达式就是用于描述这些规则的工具。换句话说,正则表达式就是记录文本规则的代码。计算机处理的信息更多的时候不是数值而是字符串,正则表达式就是在进行字符串匹配和处理的时候最为强大的工具,绝大多数语言都提供了对正则表达式的支持。

总结:对于正则表达式的理解,我其实不是很清楚,但是我就是知道在用到一些模式串匹配的时候用它很方便,就是比如在一个字符串中查找是否有一个子串为xxx,java中虽然已经包装好了方法,但是其实里面用的就是正则表达式!

Java如何支持正则表达式的:

参考回答:

答题点:String各种方法支持,Pattern类表示正则表达式

Java中的String类提供了支持正则表达式操作的方法,包括:matches()、replaceAll()、replaceFirst()、split()。此外,Java中可以用Pattern类表示正则表达式对象,它提供了丰富的API进行各种正则表达式操作

总结:实际上就是String中的一些方法内部是用正则表达式的,其次java中有一个包是专门用来支持正则表达式的java.util.regex,就是这个包,这个包中有两个类:
Pattern:
Pattern用于创建一个正则表达式,p.pattern()进行返回
Pattern.split:用于分割字符串
Pattern.matcher(String regex,CharSequence input):是一个静态方法,用于快速匹配字符串,该方法适合用于只匹配一次,且匹配全部字符串.

Matcher:
Matcher类提供了对正则表达式的分组支持,以及对正则表达式的多次匹配支持.

Matcher类提供三个匹配操作方法,三个方法均返回boolean类型,当匹配到时返回true,没匹配到则返回false

Matcher.matches()

Matcher.lookingAt()

Matcher.find()

简单用法举例:

这里matches()对整个字符串进行匹配,只有整个字符串都匹配了才返回true

import java.util.regex.Matcher;
import java.util.regex.Pattern;
public void findStrInStringUseRegularExpression(){

        String data = "nishishui a wozhens des his!"+"I am noob " +
                "from runoob.com.";

        Pattern p = Pattern.compile(".*runoob.*"); //子串的正则表达式
  		System.out.println(p.pattern())//输出正则表达式 String类型的
        Matcher matcher = p.matcher(data); //模式串
        boolean states = matcher.matches();//进行正则匹配

        System.out.println("字符串中是否包含了 'runoob' 子字符串? " + states);

    }

输出:字符串中是否包含了 'runoob' 子字符串? true

再举一个例子:

import java.util.regex.Matcher;
import java.util.regex.Pattern;
class RegExpTest {
    public static void main(String[] args) {
        String str = "成都市(成华区)(武侯区)(高新区)";
        Pattern p = Pattern.compile(".*?(?=\\()");
        Matcher m = p.matcher(str);
        if(m.find()) {
            System.out.println(m.group());
        }
    }
}
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值