Java正则表达式

Java正则表达式,第1张

Java正则表达式

一、Java正则表达式是什么?

正则表达式定义了字符串的模式;

正则表达式可以用来搜索、编辑或处理文本;

正则表达式并不仅限于某一种语言,但是在每种语言中有细微的差别。

二、正则表达式语法

1、预定义字符类

.任何字符(与行结束符可能匹配可能不匹配)d数字[0-9]D非数字[^0-9]s空白字符[tnfr]w单词字符[a-z A-Z 0-9]W非单词字符[^w]

注意:任何预定义字符没有加上数量词之前都只能匹配一个字符而已。

2、Greedy数量词

X?X,一次或一次没有X*X,零次或多次X+X,一次或多次X{n}X,恰好n次X{n,}X,至少n次X{n,m}X,至少n次,但是不超过m次

3、范围词

[abc]a、b或c(简单类)[^abc]任何字符,除了a、b或c(否定)[a-z A-Z]a到z或A到Z,两头字母包括在内(范围)[a-d[m-p]]a到d或m到p:[a-d m-p](并集)[a-z&&[def]]d、e或f(交集)

注意:范围词内不管内容多长,没有数量词的配合都只能匹配一个字符。

4、边界匹配器

^行的开头$行的结尾b单词的边界B非单词的边界A输入的开头G上一个匹配的结尾Z输入的结尾,仅用于最后的结束符(如果有的话)z输入的结尾

5、应用

匹配matches()切割split()替换replace()

6、实例:
代码:

import java.util.regex.*;

lass RegexExample{
    public static void main(String[] args){
        String content = "I am noob " + "from runoob.com";

        String pattern = ".*runoob.*";

        boolean isMatch = Pattern.matches(pattern,content);
        System.out.println("字符串中是否包含了 'runoob' 子字符串?" + isMatch;
    }
}

输出结果:

是否包含了 'runoob' 子字符串?true

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5696789.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-17
下一篇 2022-12-17

发表评论

登录后才能评论

评论列表(0条)

保存