雪地里跪求两个正则表达式的解释

日辰言成 2012-08-02 02:11:40
<[\\s]*?script[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?script[\\s]*?>
<[\\s]*?style[^>]*?>[\\s\\S]*?<[\\s]*?\\/[\\s]*?style[\\s]*?>
...全文
191 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
日辰言成 2012-08-03
  • 打赏
  • 举报
回复
由衷感谢各位大侠
aa7229806 2012-08-03
  • 打赏
  • 举报
回复
"[\\s]*?" = 重复任意次空字符,但尽可能少重复
"script[^>]*?" = 匹配用任意个尖括号括起来的以script开头的字符串
"[\\s\\S]*?" = 重复任意连续两个空字符,但尽可能少重复
"<[\\s]*?\\/[\\s]*?script[\\s]*?>"
重复任意次空字符(尽可能少重复),后面加/,重复任意次空字符(尽可能少重复),后面加script,重复任意次空字符(尽可能少重复)

这是正则的入门,好好看吧:
http://www.cnblogs.com/deerchao/archive/2006/08/24/zhengzhe30fengzhongjiaocheng.html
脱离语言 2012-08-03
  • 打赏
  • 举报
回复
你再狠心
雪地
龙四 2012-08-03
  • 打赏
  • 举报
回复
*? 跟*的意思一样,不过它是忽略优先的,也就是懒惰匹配,*是匹配优先,也就是贪婪匹配
_jerrytiger 2012-08-03
  • 打赏
  • 举报
回复
\s表示空白字符。 \需要转译 ,所以用 \\s
*表示零个或多个
?不好解释 。 给个例子你把。
String str = "jfdsls232131fdsa";
如果用 "\\d*" 匹配的就是232131
如果用 "\\d*?"匹配的就是2
没有?就表示匹配到符合的之后,它还会尝试继续向后面匹配,直到不匹配。
有? ,就表示一旦匹配了,就不用再向后面匹配了。

所以, 你这个正则的意思是: 零个或多个空白字符 。
日辰言成 2012-08-03
  • 打赏
  • 举报
回复
雪地里跪求啊,怎么没人回答。
日辰言成 2012-08-02
  • 打赏
  • 举报
回复
楼上的大哥,能解释下[\\s]*?是什么意思不?
若鱼1919 2012-08-02
  • 打赏
  • 举报
回复
匹配网页里面的<script>....</script>和<style>...</style>

51,410

社区成员

发帖
与我相关
我的任务
社区描述
Java相关技术讨论
javaspring bootspring cloud 技术论坛(原bbs)
社区管理员
  • Java相关社区
  • 小虚竹
  • 谙忆
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

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