正则表达式求解

ningtieming 2012-12-12 10:07:09
String reg = "(?<=http\\://[a-zA-Z0-9]{0,100}[.]{0,1})[^.\\s]*?\\.(com|cn|net|org|biz|info|cc|tv)";
String regUrl = "(?<=(href=)[\"]?[\']?)[http://][^\\s\"\'\\?]*("
+ myDomain + ")[^\\s\"\'>]*";

对于以上两个正则表达式存在一些疑惑:
对于第一个正则表达式:
1、“[^.\\s]*?\\.”这一部分。.(点)不是表示除\n外的任意一个字符么,那\\s和\\.是什么意思。这个正则表达式是匹配URL当中的域名的,哪位大神可以具体分析一下不?
对于第二个正则表达式:
1、“[http://]”这一部分,[]不是匹配当中的一个字符吗,为什么这里当做匹配http://用也行得通了。
2、“[^\\s\"\'\\?]”这一部分,\\?又是什么意思。这个正则表达多是匹配网页中的链接的,也请分析一下。
先谢过了~~~
...全文
201 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
suciver 2012-12-14
  • 打赏
  • 举报
回复
引用 7 楼 suciver 的回复:
[aeiou]正则表达式中的[]里面的内容是指匹配其中的任意一个字符。你用aeiou就都能匹配。 用abcde则就是匹配a e。[.] .不转义就是代表匹配任意字符所以[.]就是匹配任意一个字符
后面说错了[]也带转义
suciver 2012-12-14
  • 打赏
  • 举报
回复
[aeiou]正则表达式中的[]里面的内容是指匹配其中的任意一个字符。你用aeiou就都能匹配。 用abcde则就是匹配a e。[.] .不转义就是代表匹配任意字符所以[.]就是匹配任意一个字符
ningtieming 2012-12-14
  • 打赏
  • 举报
回复
多谢各位的指导,明白了,结贴。。。
失落夏天 2012-12-13
  • 打赏
  • 举报
回复
对这个不是很熟,以后也得慢慢学,这个东西真的挺管用。
失落夏天 2012-12-13
  • 打赏
  • 举报
回复
\就是转义的意思啊,把.给转义了,要不你想想如果匹配“.”该怎么弄? [http://]这句就是匹配一个味http://的字符串,并不是一个字符 [^\\s\"\'\\?] \s匹配任何空白字符,包括空格、制表符、换页符等等 然后加上一个" 加上一个' 加上一个\?匹配前面的子表达式零次或一次。
安特矮油 2012-12-13
  • 打赏
  • 举报
回复
.表示任意,\\s表示空格啊tab啊那些符号, \\.就是把‘.’转义了,表示只能是‘.’这个符号了; java中\\就是转义符,\\?就是匹配‘?’了,他就没有0个或者1个的意思了。 []还有个意思也是转义 比如[.]=\\.
失落夏天 2012-12-13
  • 打赏
  • 举报
回复
<html> <head> <script type="text/javascript"> var regex=/^[hello]+$/; alert(regex.test("olleh")); </script> </head> <body> </body> </html> 你做一个这种例子看一下不就知道了么? 某些东西自己实验验证的收获的肯定更多。
ningtieming 2012-12-13
  • 打赏
  • 举报
回复
引用 2 楼 AA5279AA 的回复:
\就是转义的意思啊,把.给转义了,要不你想想如果匹配“.”该怎么弄? [http://]这句就是匹配一个味http://的字符串,并不是一个字符 [^\\s\"\'\\?] \s匹配任何空白字符,包括空格、制表符、换页符等等 然后加上一个" 加上一个' 加上一个\?匹配前面的子表达式零次或一次。
如果出现[aeiou]是理解成匹配aeiou这组字符串,还是理解成匹配无意字符呢?
ningtieming 2012-12-13
  • 打赏
  • 举报
回复
引用 1 楼 abstruct 的回复:
.表示任意,\\s表示空格啊tab啊那些符号, \\.就是把‘.’转义了,表示只能是‘.’这个符号了; java中\\就是转义符,\\?就是匹配‘?’了,他就没有0个或者1个的意思了。 []还有个意思也是转义 比如[.]=\\.
那当出现[.]的时候到底是理解成转义之前的意思还是转义之后的意思呢?

62,614

社区成员

发帖
与我相关
我的任务
社区描述
Java 2 Standard Edition
社区管理员
  • Java SE
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧