正则表达式初学习

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

正则表达式初学习

2016/3/15
今天学到的几个元字符:\b,表示匹配到单词的开始或者结束;
\w,匹配到数字或者汉字或者下划线或者字母;\s,表示匹配空白符,所谓空白符包括换行符、制表符、空格等。.点,匹配换行符以外的任意字符;\d,匹配数字。
然后还有+,表示匹配到一次或者多次,至少是一次,*匹配到多次,可以是零次。
换行符就是’\n’。
今天就搞到这里,十一点半,睡觉,养精蓄锐,明天工作呢。
2016/3/20 10:15
卧槽,写的东西不见了,补上。
自己学正则,最不爽的是没有资源,即使看不懂不要紧,一点点啃,总会有顿悟的时候。
我看正则的资源是http://www.jb51.net/tools/zhengze.html
精简,入门足够了。
我学正则是,为了用正则匹配请求的网页报文中的url,比如报文中的url有类似”http://www.baidu.com“的,也有类似(https://www.baidu.com),还有(https://202.108.22.5)的。
以前也看过链接中的资源,但是不用心,看的比较粗糙,所以还是不会,这次又看了一遍,看到反义那个地方,顿时灵光一闪,这个知识刚好能解决我的问题。
最后我的正则字符串是:”(http:www.//[^\)]*)”;(这个正则表达式被转义了,具体看下面代码)这里说下我用的是java。
talk is cheap,show me the code(没代码说个几把)。
下面是哥的代码

String content = "asdfasdfadsfas(htt"
                + "p://www.baidu.com)sdfasdfasdf";
        String regex = "\\(http:www.\\/\\/[^\\)]*\\)";
        Pattern p = Pattern.compile(regex);
        Matcher m = p.matcher(content);
        System.out.println(m.group());

然而这段代码,匹配是匹配到了,但是有错误
Exception in thread “main” java.lang.IllegalStateException: No match found
去网上查查,原理没搞清楚,但是搜到了使用group函数的正确姿态。

while(m.find()){
            System.out.println(m.group());
        }

OK,一切搞定。 正则先学到这里,以后有空,或者再用到,接着搞。

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