浅读正则表达式

前端之家收集整理的这篇文章主要介绍了浅读正则表达式前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

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

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

1、元字符 2、数量

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

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

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

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

$:匹配字符串的结束

* :重复零次或更多次

+ :重复一次或更多次

@H_404_9@? :重复零次或一次

{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();
    }
}


结果:


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

猜你在找的正则表达式相关文章