Java Pattern 正则

import java.util.regex.Matcher;
import java.util.regex.Pattern;

/**
 * @Author: ZhangHao
 * @Description: 匹配测试
 * @Date: 2020/4/30 9:44
 * @Version: 1.0
 */
public class PatternTest {
    public static void main(String[] args) {
        System.out.println("----------等效-----------");
        System.out.println(Pattern.matches("\\d+", "10"));
        System.out.println(Pattern.compile("\\d+").matcher("10").matches());

        System.out.println("----------遍历-----------");

        Pattern numPattern = Pattern.compile("(一|二|三|四|五|六|七|八|九|十)个");
        Matcher numMatcher = numPattern.matcher("ab十个cd一个");
        while (numMatcher.find()) {
            System.out.println(numMatcher.group());
        }

        System.out.println("----------位置-----------");

        Pattern p = Pattern.compile("([a-z]+)(\\d+)[a-z]+");
        Matcher m = p.matcher("abc123def");

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

        // 返回第一个匹配的第一个字符在整个字符串中的位置
        System.out.println(m.start(1));
        // 返回第一个匹配的最后一个字符在整个字符串中的位置
        System.out.println(m.end(1));

        System.out.println("----------替换-----------");

        Pattern p1 = Pattern.compile("\\$\\{.*\\}");
        Matcher m1 = p1.matcher("123${A}er${B}");
        System.out.println(m1.replaceAll("C"));


        Pattern p2 = Pattern.compile("\\$\\{[^\\}]\\}");
        Matcher m2 = p2.matcher("123${A}er${B}");
        System.out.println(m2.replaceAll("C"));

        System.out.println("-----------分割----------");

        Pattern p3 = Pattern.compile("\\s*[,;]\\s*");
        System.out.println(p3.split("1, 2,3; 4").length);

    }
}
----------等效-----------
true
true
----------遍历-----------
十个
一个
----------位置-----------
2
0
3
----------替换-----------
123C
123CerC
-----------分割----------
4

 

https://www.runoob.com/java/java-regular-expressions.html

https://www.runoob.com/regexp/regexp-syntax.html

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

风铃峰顶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值