加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

浅读正则表达式

发布时间:2020-12-14 01:17:17 所属栏目:百科 来源:网络整理
导读:正则表达式已经不是陌生的话题了,无论是在Java 中还是在JS中都会用到正则表达式,尤其是在搜索引擎中的数据分析用到的最广泛。 先简单的介绍一些表达式: 1、 元字符 2、数量 . :匹配除换行符以外的任意字符 : w:匹配字母或数字或下划线或汉字 s :匹配

正则表达式已经不是陌生的话题了,无论是在Java 中还是在JS中都会用到正则表达式,尤其是在搜索引擎中的数据分析用到的最广泛。

先简单的介绍一些表达式:

1、元字符 2、数量

. :匹配除换行符以外的任意字符:

w:匹配字母或数字或下划线或汉字

s :匹配任意的空白符d:匹配数字:

b:匹配单词的开始或结束^:匹配字符串的开始:

$:匹配字符串的结束

* :重复零次或更多次

+ :重复一次或更多次

? :重复零次或一次

{n} :重复n次

{n,} :重复n次或更多次

查找匹配需要分组用到group: matcher.group(n)

ps : 转义字符 需要注意。

这只是一些简单的字符。可以参考入门链接 http://deerchao.net/tutorials/regex/regex.htm


下面来简单的介绍一下用法

1、.matches()匹配: 匹配字符串中含有什么

(1)String.matches( regex );

(2)matcher.matches( regex );

2、.find() 查找:查找想要的东西

一般:

Pattern pattern = Pattern.compile( regex );
Matcher  matcher = pattern.matcher( string );
if( matcher.find()){
	String result = matcher.group(n);
}
……


下面来点实战:
import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Tr2 {
    public static void test() {
        Pattern pattern;
        Pattern pattern1;
        Matcher matcher;
        String floatStr = "100.22";
        String floatStr2 = "100.22222";
        System.out.println(floatStr.matches("^d+.d{2}"));

        System.out.println(floatStr.matches("^d+.d{2}$"));
        System.out.println(floatStr2.matches("^d+.d{2}$"));

        pattern = Pattern.compile("^d+.d{2}$");
        matcher = pattern.matcher(floatStr);
        if (matcher.matches()) {
            System.out.println("yes");
        } else {
            System.out.println("NO");
        }

        String str = "<li><a href="www.baidu.com/category/1">编程</a></li>";
        pattern = Pattern.compile(""(w+)"");
        matcher = pattern.matcher(str);
        if (matcher.find()) {
            String result = matcher.group(1);
            System.out.println(result);

        }

        pattern1 = Pattern.compile(""(.*?)"");
        matcher = pattern1.matcher(str);
        if (matcher.find()) {
            String result = matcher.group(1);
            System.out.println(result);
        }
    }

    public static void main(String[] args) {
        test();
    }
}


结果:


简单的暂时是这样了,其实正则表达式很有用处,自己可以进一步拓展……

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!