Regular Expressions 101

Save & Share

Flavor

  • PCRE2 (PHP >=7.3)
  • PCRE (PHP <7.3)
  • ECMAScript (JavaScript)
  • Python
  • Golang
  • Java 8
  • .NET 7.0 (C#)
  • Rust
  • Regex Flavor Guide

Function

  • Match
  • Substitution
  • List
  • Unit Tests

Tools

Sponsors
There are currently no sponsors. Become a sponsor today!
An explanation of your regex will be automatically generated as you type.
Detailed match information will be displayed here automatically.
  • All Tokens
  • Common Tokens
  • General Tokens
  • Anchors
  • Meta Sequences
  • Quantifiers
  • Group Constructs
  • Character Classes
  • Flags/Modifiers
  • Substitution
  • A single character of: a, b or c
    [abc]
  • A character except: a, b or c
    [^abc]
  • A character in the range: a-z
    [a-z]
  • A character not in the range: a-z
    [^a-z]
  • A character in the range: a-z or A-Z
    [a-zA-Z]
  • Any single character
    .
  • Alternate - match either a or b
    a|b
  • Any whitespace character
    \s
  • Any non-whitespace character
    \S
  • Any digit
    \d
  • Any non-digit
    \D
  • Any word character
    \w
  • Any non-word character
    \W
  • Non-capturing group
    (?:...)
  • Capturing group
    (...)
  • Zero or one of a
    a?
  • Zero or more of a
    a*
  • One or more of a
    a+
  • Exactly 3 of a
    a{3}
  • 3 or more of a
    a{3,}
  • Between 3 and 6 of a
    a{3,6}
  • Start of string
    ^
  • End of string
    $
  • A word boundary
    \b
  • Non-word boundary
    \B

Regular Expression
No Match

r"
"
gm

Test String

Code Generator

Generated Code

# coding=utf8 # the above tag defines encoding for this document and is for Python 2.x compatibility import re regex = r"<img\s+[\S\"'= ]{0,40}src=[\"'](?P<src>(http(s)?:)?\/\/[^\":>]+)[\"']?" test_str = ("\n" "<!DOCTYPE html>\n" "<html lang=\"zh-cn\">\n" "<head>\n" " <meta charset=\"utf-8\" />\n" " <meta name=\"viewport\" content=\"width=device-width, initial-scale=1\" />\n" " <meta name=\"referrer\" content=\"always\" />\n" " <title>博客园 - 代码改变世界</title>\n" " <meta name=\"keywords\" content=\"开发者,博客园,开发者,程序猿,程序媛,极客,编程,代码,开源,IT网站,Developer,Programmer,Coder,Geek,技术社区\" />\n" " <meta name=\"description\" content=\"博客园是一个面向开发者的知识分享社区。自创建以来,博客园一直致力并专注于为开发者打造一个纯净的技术交流社区,推动并帮助开发者通过互联网分享知识,从而让更多开发者从中受益。博客园的使命是帮助开发者用代码改变世界。\" />\n" " <link rel=\"shortcut icon\" href=\"//common.cnblogs.com/favicon.ico\" type=\"image/x-icon\" />\n" " <link rel=\"Stylesheet\" type=\"text/css\" href=\"/bundles/aggsite.css?v=IlEZk4Ic2eCzcO6r0s4bGm62FAo8VZI-US_0EqUe2Bk1\" />\n" " <link id=\"RSSLink\" title=\"RSS\" type=\"application/rss+xml\" rel=\"alternate\" href=\"http://feed.cnblogs.com/blog/sitehome/rss\" />\n" " <script src=\"//common.cnblogs.com/scripts/jquery-2.2.0.min.js\" type=\"text/javascript\"></script>\n" " <script src=\"/bundles/aggsite.js?v=wbLJNoxRMOKXYku3zcNQAABkHSQLwHZ_hyKZv8KPN1Y1\" type=\"text/javascript\"></script>\n" " <script async='async' src='https://www.googletagservices.com/tag/js/gpt.js'></script>\n" " <script>\n" " var googletag = googletag || {};\n" " googletag.cmd = googletag.cmd || [];\n" " </script>\n\n" " <script>\n" " googletag.cmd.push(function () {\n" " googletag.defineSlot('/1090369/A1', [468, 60], 'div-gpt-ad-1547816814884-0').addService(googletag.pubads());\n" " googletag.defineSlot('/1090369/B1', [300, 250], 'div-gpt-ad-1546331539224-0').addService(googletag.pubads());\n" " googletag.defineSlot('/1090369/B2', [300, 250], 'div-gpt-ad-1539007469525-0').addService(googletag.pubads());\n" " googletag.defineSlot('/1090369/B3', [300, 250], 'div-gpt-ad-1546331252242-0').addService(googletag.pubads());\n" " googletag.defineSlot('/1090369/B4', [300, 250], 'div-gpt-ad-1546331385104-0').addService(googletag.pubads());\n" " googletag.pubads().enableSingleRequest();\n" " googletag.enableServices();\n" " });\n" " </script>\n" "</head>\n" "<body>\n" " <div id=\"wrapper\">\n" " <div id=\"hd_info\">\n" " <div id=\"cnts\">\n" " <div id=\"site_nav_top\">代码改变世界</div>\n" " <div id=\"login_area\"><span id=\"span_userinfo\"></span></div>\n" " <div class=\"clear\"></div>\n" " </div>\n" " </div>\n" " <div id=\"header\">\n" " <p class=\"h_r_3\"></p><p class=\"h_r_2\"></p><p class=\"h_r_1\"></p>\n" " <div id=\"header_block\">\n" " <div id=\"logo\">\n" " <h1>\n" " <a href=\"https://www.cnblogs.com/\" title=\"开发者的网上家园\"><img src=\"/images/logo_small.gif\" alt=\"博客园Logo\" width=\"142\" height=\"55\" /></a>\n" " </h1>\n" " </div>\n\n" " <div class=\"clear\"></div>\n" " </div>\n" " <p class=\"h_r_1\"></p><p class=\"h_r_2\"></p><p class=\"h_r_3\"></p>\n" " </div>\n" " <div id=\"nav_menu\"><a href=\"https://home.cnblogs.com/\">园子</a><a href=\"https://news.cnblogs.com\">新闻</a><a href=\"https://q.cnblogs.com/\">博问</a><a href=\"https://ing.cnblogs.com/\">闪存</a><a href=\"https://group.cnblogs.com/\">小组</a><a href=\"https://wz.cnblogs.com/\">收藏</a><a href=\"https://job.cnblogs.com/\">招聘</a><a href=\"https://edu.cnblogs.com/\">班级</a><a href=\"http://zzk.cnblogs.com/\">找找看</a></div>\n" " <div id=\"main\">\n" " <div class=\"post_nav_block_wrapper\">\n" " <ul class=\"post_nav_block\">\n" " <li><a href=\"/\" class=\"current_nav\" >首页</a></li>\n" " <li><a href=\"/pick/\" title=\"编辑精选博文\">精华</a></li>\n" " <li><a href=\"/candidate/\" title=\"候选区的博文\">候选</a></li>\n" " <li><a href=\"/news/\" title=\"新闻频道最新新闻\">新闻</a></li>\n" " <li><a href=\"/following\" title=\"我关注博客的最新博文\">关注</a></li>\n" " <li><a href=\"/aggsite/mycommented\" title=\"我评论过的博文\">我评</a></li>\n" " <li><a href=\"/aggsite/mydigged\" title=\"我推荐过的博文\">我赞</a></li>\n" " </ul>\n" " <div class=\"clear\"></div>\n" " </div>\n" " <div class=\"rss_link\" id=\"rss_block\">\n" "<span id=\"posts_refresh_tips\"></span><a id=\"posts_refresh\" href=\"#\" class=\"refresh\" title=\"刷新博文列表\" onclick=\"aggSite.loadCategoryPostList();return false\">刷新</a> <a href=\"http://feed.cnblogs.com/blog/sitehome/rss\"><img src=\"//common.cnblogs.com/images/icon_rss.gif\" alt=\"点击订阅\" style=\"position:relative;top:2px;\" title=\"订阅博客园文章\" /></a> </div>\n" " <div id=\"headline_block\" class=\"headline\"><ul><li class=\"editor_pick\"><a href=\"https://www.cnblogs.com/Zachary-Fan/p/bugwhy.html\" id=\"editor_pick_lnk\" target=\"_blank\">【编辑推荐】为啥程序会有bug?<span id=\"editor_pick_count\"></span></a> <a href=\"/aggsite/headline\" title=\"查看更多编辑推荐\" class=\"right_more\">»</a></li><li><a href=\"https://www.cnblogs.com/51core/p/10613536.html\" target=\"_blank\" title=\"阅读1632, 评论14, 推荐27\">[最多推荐]基于Asp.Net Core的简单社区项目源代码开源(14/1632)</a> <a href=\"/aggsite/topdigged24h\" title=\"查看24小时推荐排行\" class=\"right_more\">»</a></li><li><a href=\"https://www.cnblogs.com/edison0621/p/10616738.html\" target=\"_blank\" title=\"阅读1192, 评论14, 推荐10\">[最多评论]【春华秋实】.NET Core之只是多看了你一眼(14/1192)</a> <a href=\"/aggsite/topcommented24h\" title=\"查看24小时评论排行\" class=\"right_more\">»</a></li><li><a href=\"https://news.cnblogs.com/n/622870/\" target=\"_blank\" title=\"阅读2627, 评论9, 推荐7\">[新闻头条]硬核老奶奶:81岁自学编程 半年时间开发上架一款App(9/2627)</a> <a href=\"https://news.cnblogs.com/\" title=\"查看更多新闻\" class=\"right_more\">»</a></li><li><a href=\"https://news.cnblogs.com/n/622930/\" target=\"_blank\" title=\"阅读809, 评论6, 推荐4\">[推荐新闻]民营运载火箭发射再失败,“中国马斯克”之困(6/809)</a> <a href=\"https://news.cnblogs.com/n/recommend\" title=\"查看更多推荐新闻\" class=\"right_more\">»</a></li></ul></div>\n\n" " \n\n" " \n" " <div id=\"pager_top\" style=\"display:none\"></div>\n" " <div id=\"post_list_tips\" class=\"hide\"></div>\n" " \n" " <div id=\"post_list\">\n" " \n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('xuelongqy',10619304,276495,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619304\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619304\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/xuelongqy/p/10619304.html\" target=\"_blank\">Vue上拉加载下拉刷新---vue-easyrefresh</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/xuelongqy/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/801420/20151121115426.png\" alt=\"\"/></a> vue easyrefresh简介 正如名字一样,EasyRefresh很容易就能在基于Vue的Web应用上实现下拉刷新以及上拉加载操作,支持主流的PC和移动浏览器。它的功能灵感来源于与Android的SmartRefreshLayout,同样也吸取了很多三方库的优点。EasyRefresh中集成了 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/xuelongqy/\" class=\"lightblue\">青忆qingyi</a> \n" " 发布于 2019-03-29 09:40 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/xuelongqy/p/10619304.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/xuelongqy/p/10619304.html\" class=\"gray\">阅读(0)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('gdjk',10619281,491238,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619281\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619281\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/gdjk/p/10619281.html\" target=\"_blank\">龙岗一个月350的出租房,我搬出来了</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/gdjk/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1598575/20190201153602.png\" alt=\"\"/></a> 阅读本文大概需要 6 分钟。 阅读本文大概需要 6 分钟。 阅读本文大概需要 6 分钟。 阅读本文大概需要 6 分钟。 好久没写文章了,因为最近的实在是太忙了,看到这一期的征文,不禁让我回想起了当初刚毕业的那个自己,一时之间感慨万千。 我的故事 很多慕课网的老用户可能了解过我的故事,在16年的时候我 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/gdjk/\" class=\"lightblue\">LonelyKeyGuest</a> \n" " 发布于 2019-03-29 09:35 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/gdjk/p/10619281.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/gdjk/p/10619281.html\" class=\"gray\">阅读(2)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('mfrank',10619263,320110,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619263\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619263\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/mfrank/p/10619263.html\" target=\"_blank\">【效率工具】史上最好用的SSH一键登录脚本,超强更新!</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/mfrank/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1043143/20180825173331.png\" alt=\"\"/></a> 说明 虽然已经是凌晨,但丝毫不能掩盖我激动的心情,今天完成了对GotoSSH的一次大更新,新增了两个肥肠实用的功能,我只能说,是真的好用,话不多说,先来看效果图: 普通的一键登录: 一键登录跳板机,然后跳转登录线上服务器: 一键登录跳板机查看指定日志: 一键登录跳板机后跳转线上服务器查看指定日志: ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/mfrank/\" class=\"lightblue\">弗兰克的猫</a> \n" " 发布于 2019-03-29 09:32 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/mfrank/p/10619263.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/mfrank/p/10619263.html\" class=\"gray\">阅读(18)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('liuhappy',10619261,424982,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619261\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619261\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/liuhappy/p/10619261.html\" target=\"_blank\">从0开始的Python学习012数据结构&amp;对象与类</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/liuhappy/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1368764/20180502094746.png\" alt=\"\"/></a> 简介 数据结构是处理数据的结构,或者说,他们是用来存储一组相关数据的。 在Python中三种内建的数据结构--列表、元组和字典。学会了使用它们会使编程变得的简单。 列表 list是处理一组有序的数据结构,即你可以在一个列表中存储一个序列的项目。在Python每个项目之间用逗号分隔。列表中的项目应该包 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/liuhappy/\" class=\"lightblue\">Happy丶Liu</a> \n" " 发布于 2019-03-29 09:31 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/liuhappy/p/10619261.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/liuhappy/p/10619261.html\" class=\"gray\">阅读(7)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('viyoung',10619158,472774,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619158\">2</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619158\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/viyoung/p/10619158.html\" target=\"_blank\">Spring Boot 2.x (十五):Dubbo + Zookeeper + 新版Dubbo Admin</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/viyoung/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1528535/20190118135212.png\" alt=\"\"/></a> Dubbo 简介 Dubbo是阿里巴巴公司开源的一个 高性能 优秀的服务框架,使得应用可通过高性能的 RPC 实现服务的输出和输入功能,可以和 Spring框架无缝集成 。 它提供了三大核心能力: 面向接口 的远程方法调用 智能容错 和 负载均衡 服务 自动注册 和发现。 可以看出图中存在着五种角色 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/viyoung/\" class=\"lightblue\">Vi的技术博客</a> \n" " 发布于 2019-03-29 09:15 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/viyoung/p/10619158.html#commentform\" title=\"2019-03-29 09:24\" class=\"gray\">\n" " 评论(2)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/viyoung/p/10619158.html\" class=\"gray\">阅读(81)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('suihang',10610519,450240,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10610519\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10610519\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/suihang/p/10610519.html\" target=\"_blank\">TS学习随笔(三)-&gt;接口</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/suihang/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1459059/20180806183429.png\" alt=\"\"/></a> 终于来到了比较重要的知识,接口,有多重要呢,反正是很重要好啵 在 TypeScript 中,我们使用接口(Interfaces)来定义对象的类型。 那什么是接口呢,在面向对象语言中,接口(Interfaces)是一个很重要的概念,它是对行为的抽象,而具体如何行动需要由类(classes)去实现(im ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/suihang/\" class=\"lightblue\">一只菜鸟攻城狮啊</a> \n" " 发布于 2019-03-29 08:54 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/suihang/p/10610519.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/suihang/p/10610519.html\" class=\"gray\">阅读(69)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('yunen',10619061,328097,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10619061\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10619061\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/yunen/p/10619061.html\" target=\"_blank\">关于CSRF的那点事儿</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/yunen/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1095571/20190324162056.png\" alt=\"\"/></a> 0x01 CSRF简介 & 160;& 160;& 160;& 160;CSRF,也称XSRF,即跨站请求伪造攻击,与XSS相似,但与XSS相比更难防范,是一种广泛存在于网站中的安全漏洞,经常与XSS一起配合攻击。 &lt;! more 0x02 CSRF原理 & 160;& 160;& 160;& 16 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/yunen/\" class=\"lightblue\">Yunen的博客</a> \n" " 发布于 2019-03-29 08:47 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/yunen/p/10619061.html#commentform\" title=\"2019-03-29 08:58\" class=\"gray\">\n" " 评论(1)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/yunen/p/10619061.html\" class=\"gray\">阅读(89)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('pig66',10618035,494280,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618035\">1</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618035\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/pig66/p/10618035.html\" target=\"_blank\">Python一行代码实现快速排序</a></h3> \n" " <p class=\"post_item_summary\">\n" " 上期文章排序算法——(2)Python实现十大常用排序算法为大家介绍了十大常用排序算法的前五种(冒泡、选择、插入、希尔、归并),因为快速排序的重要性,所以今天将单独为大家介绍一下快速排序! 上期文章排序算法——(2)Python实现十大常用排序算法为大家介绍了十大常用排序算法的前五种(冒泡、选择、插 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/pig66/\" class=\"lightblue\">猪哥66</a> \n" " 发布于 2019-03-29 08:38 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/pig66/p/10618035.html#commentform\" title=\"2019-03-29 09:17\" class=\"gray\">\n" " 评论(2)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/pig66/p/10618035.html\" class=\"gray\">阅读(94)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('joy99',10618910,228233,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618910\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618910\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/joy99/p/10618910.html\" target=\"_blank\">java 并发——理解 wait / notify / notifyAll</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/joy99/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/758949/20160701123459.png\" alt=\"\"/></a> 一、前言 前情简介: \"java 并发——内置锁\" \"java 并发——线程\" java 面试是否有被问到过, 和 方法的区别,关于这个问题其实不用多说,大多数人都能回答出最主要的两点区别: sleep 是线程的方法, wait / notify / notifyAll 是 Object 类的方法; ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/joy99/\" class=\"lightblue\">SharpCJ</a> \n" " 发布于 2019-03-29 08:29 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/joy99/p/10618910.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/joy99/p/10618910.html\" class=\"gray\">阅读(98)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('leisure_chn',10584948,445983,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10584948\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10584948\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/leisure_chn/p/10584948.html\" target=\"_blank\">FFmpeg编解码处理4-音频编码</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/leisure_chn/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1446952/20190122100937.png\" alt=\"\"/></a> 本文为作者原创,转载请注明出处: FFmpeg编解码处理系列笔记: \"0]. [FFmpeg时间戳详解\" \"1]. [FFmpeg编解码处理1 转码全流程简介\" \"2]. [FFmpeg编解码处理2 编解码API详解\" \"3]. [FFmpeg编解码处理3 视频编码\" \"4]. [FFmpeg编解码 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/leisure_chn/\" class=\"lightblue\">叶余</a> \n" " 发布于 2019-03-29 08:29 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/leisure_chn/p/10584948.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/leisure_chn/p/10584948.html\" class=\"gray\">阅读(50)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('xiangyuecn',10618982,142281,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618982\">1</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618982\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/xiangyuecn/p/10618982.html\" target=\"_blank\">Fiddler抓包和修改WebSocket数据,支持wss</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/xiangyuecn/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/463618/20181111205015.png\" alt=\"\"/></a> 记录一下用 对`WebSocket`收发的数据进行抓包分析和篡改数据,只找到这么一个方法,能用就行吧。 时间:2019 3 29 环境: `+ Fiddler 5.0` Fiddler抓取WebSocket数据 中双击 即可查看此连接收发的数据。可惜此选项卡内没有带发送数据的功能(一个输入框(HEX ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/xiangyuecn/\" class=\"lightblue\">xiangyuecn</a> \n" " 发布于 2019-03-29 07:41 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/xiangyuecn/p/10618982.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/xiangyuecn/p/10618982.html\" class=\"gray\">阅读(350)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('moonhmily',10618975,190911,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618975\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618975\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/moonhmily/p/10618975.html\" target=\"_blank\">上次被人说TK不好咯,这次给你整个高大上的</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/moonhmily/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/649191/20190227122307.png\" alt=\"\"/></a> 想要熟练使用PyQt,还是需要深入研究下这个库的使用,笔者这里只是抛砖引玉。 关注公众号「**Python专栏**」,后台回复:**zsxq06**,获取本文全套代码。 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/moonhmily/\" class=\"lightblue\">上海小胖</a> \n" " 发布于 2019-03-29 06:55 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/moonhmily/p/10618975.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/moonhmily/p/10618975.html\" class=\"gray\">阅读(118)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('minotauros',10618913,460575,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618913\">2</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618913\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/minotauros/p/10618913.html\" target=\"_blank\">C#闭包</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/minotauros/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/839833/20180914114621.png\" alt=\"\"/></a> 1.匿名方法和Lambda表达式中可以访问到声明该匿名方法或Lambda表达式所在方法中的参数或局部变量,这些变量称为外部变量(Outer Variable),外部变量的生命周期会持续到引用匿名方法或Lambda表达式的委托实例被垃圾回收器回收为止: 2.调用匿名方法或Lambda表达式时,访问到的 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/minotauros/\" class=\"lightblue\">Minotauros</a> \n" " 发布于 2019-03-29 02:08 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/minotauros/p/10618913.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/minotauros/p/10618913.html\" class=\"gray\">阅读(199)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('idiotgroup',10618891,155885,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618891\">1</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618891\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/idiotgroup/p/10618891.html\" target=\"_blank\">TICTOC: Header Only C++ Timer</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/idiotgroup/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/542753/20160505183004.png\" alt=\"\"/></a> Header Only C++ Timer,简易实用的C++计时器,本文的重点在于项目中用到的C++编程的知识(单例、宏、名字空间等,我也不知道为啥这个功能需要这么多技术,但确实都是要用到的),以及安利一下自己编写的库。欢迎大家star和mr。感恩~ ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/idiotgroup/\" class=\"lightblue\">喵耳朵</a> \n" " 发布于 2019-03-29 01:32 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/idiotgroup/p/10618891.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/idiotgroup/p/10618891.html\" class=\"gray\">阅读(43)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('sanchang',10614074,441986,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10614074\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10614074\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/sanchang/p/10614074.html\" target=\"_blank\">React 精要面试题讲解(五) 高阶组件真解</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/sanchang/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1425733/20180620223626.png\" alt=\"\"/></a> 高阶组件存在组合(也可称之为代理)和继承两种形式,学习本章内容,让你彻底消化React高阶组件。 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/sanchang/\" class=\"lightblue\">散场丶丶</a> \n" " 发布于 2019-03-29 01:15 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/sanchang/p/10614074.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/sanchang/p/10614074.html\" class=\"gray\">阅读(60)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('phpstudy2015-6',10618707,258167,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618707\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618707\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/phpstudy2015-6/p/10618707.html\" target=\"_blank\">Java 集合系列(二)—— ArrayList</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/phpstudy2015-6/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/789055/20161204181900.png\" alt=\"\"/></a> ArrayList ArrayList 是通过一个数组来实现的,因此它是在连续的存储位置存放对象的引用,只不过它比 Array 更智能,能够根据集合长度进行自动扩容。 假设让我们来实现一个简单的能够自动扩容的数组,我们最容易想到的点就是: 实际上,ArrayList的内部实现原理也是这样子,我们可以 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/phpstudy2015-6/\" class=\"lightblue\">那一叶随风</a> \n" " 发布于 2019-03-29 00:20 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/phpstudy2015-6/p/10618707.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/phpstudy2015-6/p/10618707.html\" class=\"gray\">阅读(105)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('xiexj',10618714,334942,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618714\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618714\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/xiexj/p/10618714.html\" target=\"_blank\">Kubernetes的DaemonSet(下篇)</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/xiexj/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1112728/20180420145036.png\" alt=\"\"/></a> 用Daemon Pod来进行通信 使用Pod来再DaemonSet中通信的手段有: 推的方式:在DaemonSet中的Pod会被配置成发送更新到如状态数据库这样的服务。这些都没有客户端。 IP+端口方式:DaemonSet中的Pod可以使用主机端口。因此通过node的IP就可以访问。客户端知道了no ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/xiexj/\" class=\"lightblue\">编程一生</a> \n" " 发布于 2019-03-29 00:07 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/xiexj/p/10618714.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/xiexj/p/10618714.html\" class=\"gray\">阅读(39)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('jyzhao',10618658,186567,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618658\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618658\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/jyzhao/p/10618658.html\" target=\"_blank\">Oracle 10g RAC OCR、Voting disk更换</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/jyzhao/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/635610/20160310163558.png\" alt=\"\"/></a> 环境: OEL 5.7 + Oracle 10.2.0.5 RAC 需求: 更换存储,OCR、Voting disk同时需要更换到新存储。 \"1.替换OCR\" \"2.替换voting disk\" 1.替换OCR 替换OCR(Oracle Cluster Registry)首先需要关闭RAC所有节点的 ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/jyzhao/\" class=\"lightblue\">AlfredZhao</a> \n" " 发布于 2019-03-28 23:55 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/jyzhao/p/10618658.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/jyzhao/p/10618658.html\" class=\"gray\">阅读(44)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('lart',10618665,327824,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618665\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618665\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/lart/p/10618665.html\" target=\"_blank\">生产与学术之Pytorch模型导出为安卓Apk尝试记录</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/lart/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/1094855/20170112224706.png\" alt=\"\"/></a> 生产与学术 写于 2019 01 08 的旧文, 当时是针对一个比赛的探索. 觉得可能对其他人有用, 就放出来分享一下 生产与学术, 真实的对立... 这是我这两天对 的这个流程的一个切身感受. 说句实在的, 对于模型转换的探索, 算是我这两天最大的收获了... 全部浓缩在了这里: 鉴于github ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/lart/\" class=\"lightblue\">lart</a> \n" " 发布于 2019-03-28 23:53 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/lart/p/10618665.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/lart/p/10618665.html\" class=\"gray\">阅读(35)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" "<div class=\"post_item\">\n" "<div class=\"digg\">\n" " <div class=\"diggit\" onclick=\"DiggPost('Wayou',10618645,123544,1)\"> \n" " <span class=\"diggnum\" id=\"digg_count_10618645\">0</span>\n" " </div>\n" " <div class=\"clear\"></div>\n" " <div id=\"digg_tip_10618645\" class=\"digg_tip\"></div>\n" "</div> \n" "<div class=\"post_item_body\">\n" " <h3><a class=\"titlelnk\" href=\"https://www.cnblogs.com/Wayou/p/type_alias_vs_interface.html\" target=\"_blank\">TypeScript: type alias 与 interface</a></h3> \n" " <p class=\"post_item_summary\">\n" "<a href=\"https://www.cnblogs.com/Wayou/\" target=\"_blank\"><img width=\"48\" height=\"48\" class=\"pfs\" src=\"//pic.cnblogs.com/face/431064/20140914104240.png\" alt=\"\"/></a> 官方文档中有关于两者对比的信息,隐藏在 TypeScript Handbook 中,见 Interfaces vs. Type Aliases 部分。 但因为这一部分很久没更新了,所以其中描述的内容不一定全对。 比如, 区别点之一:Type Alias 不会创建新的类型,体现在错误信息上。 One ...\n" " </p> \n" " <div class=\"post_item_foot\"> \n" " <a href=\"https://www.cnblogs.com/Wayou/\" class=\"lightblue\">刘哇勇</a> \n" " 发布于 2019-03-28 23:45 \n" " <span class=\"article_comment\"><a href=\"https://www.cnblogs.com/Wayou/p/type_alias_vs_interface.html#commentform\" title=\"\" class=\"gray\">\n" " 评论(0)</a></span><span class=\"article_view\"><a href=\"https://www.cnblogs.com/Wayou/p/type_alias_vs_interface.html\" class=\"gray\">阅读(39)</a></span></div>\n" "</div>\n" "<div class=\"clear\"></div>\n" "</div>\n" " \n\n" " </div>\n" " <script>editorPickStat(); aggSite.user.getUserInfo();</script>\n" " <script type=\"text/javascript\">\n" " var aggSiteModel = {\"CategoryType\":\"SiteHome\",\"ParentCategoryId\":0,\"CategoryId\":808,\"PageIndex\":1,\"TotalPostCount\":4000,\"ItemListActionName\":\"PostList\"};\n" " </script>\n" " <div id=\"pager_bottom\"><div id=\"paging_block\"><div class=\"pager\"><a href=\"/\" class=\"p_1 current\" onclick=\"aggSite.loadCategoryPostList(1,20);buildPaging(1);return false;\">1</a><a href=\"/sitehome/p/2\" class=\"p_2 middle\" onclick=\"aggSite.loadCategoryPostList(2,20);buildPaging(2);return false;\">2</a><a href=\"/sitehome/p/3\" class=\"p_3 middle\" onclick=\"aggSite.loadCategoryPostList(3,20);buildPaging(3);return false;\">3</a><a href=\"/sitehome/p/4\" class=\"p_4 middle\" onclick=\"aggSite.loadCategoryPostList(4,20);buildPaging(4);return false;\">4</a><a href=\"/sitehome/p/5\" class=\"p_5 middle\" onclick=\"aggSite.loadCategoryPostList(5,20);buildPaging(5);return false;\">5</a><a href=\"/sitehome/p/6\" class=\"p_6 middle\" onclick=\"aggSite.loadCategoryPostList(6,20);buildPaging(6);return false;\">6</a><a href=\"/sitehome/p/7\" class=\"p_7 middle\" onclick=\"aggSite.loadCategoryPostList(7,20);buildPaging(7);return false;\">7</a><a href=\"/sitehome/p/8\" class=\"p_8 middle\" onclick=\"aggSite.loadCategoryPostList(8,20);buildPaging(8);return false;\">8</a><a href=\"/sitehome/p/9\" class=\"p_9 middle\" onclick=\"aggSite.loadCategoryPostList(9,20);buildPaging(9);return false;\">9</a><a href=\"/sitehome/p/10\" class=\"p_10 middle\" onclick=\"aggSite.loadCategoryPostList(10,20);buildPaging(10);return false;\">10</a><a href=\"/sitehome/p/11\" class=\"p_11 middle\" onclick=\"aggSite.loadCategoryPostList(11,20);buildPaging(11);return false;\">11</a><span class=\"ellipsis\">···</span><a href=\"/sitehome/p/200\" class=\"p_200 last\" onclick=\"aggSite.loadCategoryPostList(200,20);buildPaging(200);return false;\">200</a><a href=\"/sitehome/p/2\" onclick=\"aggSite.loadCategoryPostList(2,20);buildPaging(2);return false;\">Next &gt;</a></div></div><script type=\"text/javascript\">var pagingBuider={\"OnlyLinkText\":false,\"TotalCount\":4000,\"PageIndex\":1,\"PageSize\":20,\"ShowPageCount\":5,\"SkipCount\":0,\"UrlFormat\":\"/sitehome/p/{0}\",\"OnlickJsFunc\":\"aggSite.loadCategoryPostList()\",\"FirstPageLink\":\"/\",\"AjaxUrl\":\"/mvc/ToolkitPaging/load.aspx\",\"AjaxCallbak\":null,\"TopPagerId\":\"pager_top\",\"IsRenderScript\":true};function buildPaging(pageIndex){pagingBuider.PageIndex=pageIndex;$.ajax({url:pagingBuider.AjaxUrl,data:JSON.stringify(pagingBuider),type:'post',dataType:'text',contentType:'application/json; charset=utf-8',success:function (data) { $('#paging_block').html(data); var pagerTop=$('#pager_top');if(pageIndex>1){$(pagerTop).html(data).show();}else{$(pagerTop).hide();}}});}</script>\n" "</div>\n" " <div id=\"side_nav\">\n" " \n" "<div id=\"cate_title_block\">\n" "<div id=\"cate_title_title\"><div class=\"cate_title\">网站分类</div></div>\n" "<ul id=\"cate_item\">\n" "<li id=\"cate_item_108698\" onmouseover=\"cateShow(108698)\" onmouseout=\"cateHidden(108698)\">\n" "<a href=\"/cate/108698/\">.NET技术(4)</a>\n" "</li>\n" "<li id=\"cate_item_2\" onmouseover=\"cateShow(2)\" onmouseout=\"cateHidden(2)\">\n" "<a href=\"/cate/2/\">编程语言(8)</a>\n" "</li>\n" "<li id=\"cate_item_108701\" onmouseover=\"cateShow(108701)\" onmouseout=\"cateHidden(108701)\">\n" "<a href=\"/cate/108701/\">软件设计(2)</a>\n" "</li>\n" "<li id=\"cate_item_108703\" onmouseover=\"cateShow(108703)\" onmouseout=\"cateHidden(108703)\">\n" "<a href=\"/cate/108703/\">Web前端(2)</a>\n" "</li>\n" "<li id=\"cate_item_108704\" onmouseover=\"cateShow(108704)\" onmouseout=\"cateHidden(108704)\">\n" "<a href=\"/cate/108704/\">企业信息化(2)</a>\n" "</li>\n" "<li id=\"cate_item_108705\" onmouseover=\"cateShow(108705)\" onmouseout=\"cateHidden(108705)\">\n" "<a href=\"/cate/108705/\">手机开发(3)</a>\n" "</li>\n" "<li id=\"cate_item_108709\" onmouseover=\"cateShow(108709)\" onmouseout=\"cateHidden(108709)\">\n" "<a href=\"/cate/108709/\">软件工程(3)</a>\n" "</li>\n" "<li id=\"cate_item_108712\" onmouseover=\"cateShow(108712)\" onmouseout=\"cateHidden(108712)\">\n" "<a href=\"/cate/108712/\">数据库技术(1)</a>\n" "</li>\n" "<li id=\"cate_item_108724\" onmouseover=\"cateShow(108724)\" onmouseout=\"cateHidden(108724)\">\n" "<a href=\"/cate/108724/\">操作系统(5)</a>\n" "</li>\n" "<li id=\"cate_item_4\" onmouseover=\"cateShow(4)\" onmouseout=\"cateHidden(4)\">\n" "<a href=\"/cate/4/\">其他分类(20)</a>\n" "</li>\n" "<li id=\"cate_item_0\" onmouseover=\"cateShow(0)\" onmouseout=\"cateHidden(0)\">\n" "<a href=\"/cate/all/\">所有随笔(161)</a>\n" "</li>\n" "<li id=\"cate_item_-1\" onmouseover=\"cateShow(-1)\" onmouseout=\"cateHidden(-1)\">\n" "<a href=\"/comment/\">所有评论(44)</a>\n" "</li>\n" "</ul>\n" "<div class=\"cate_bottom\"></div>\n" "<div id=\"cate_sub_block\"></div>\n" "<script type=\"text/javascript\">var cateIdList = '108698,2,108701,108703,108704,108705,108709,108712,108724,4';aggSite.loadSubCategories();</script>\n" "</div>\n" " <div class=\"l_s\"></div>\n" "<p class=\"r_l_3\"></p><p class=\"r_l_2\"></p><p class=\"r_l_1\"></p>\n" "<div class=\"w_l\">\n" "<h4>链接</h4> \n" "<ul>\n" " <li><a href=\"https://group.cnblogs.com/forum/public/\" target=\"_blank\">反馈或建议</a></li> \n" " <li><a href=\"//www.cnblogs.com/cmt/\" target=\"_blank\">官方博客</a></li>\n" " <li><a href=\"/skins.aspx\" target=\"_blank\">博客模板</a></li>\n" " <li><a href=\"http://www.blogjava.net/\">Java博客</a></li>\n" " <li><a href=\"http://www.cppblog.com/\">C++博客</a></li>\n" " <li><a href=\"//www.cnblogs.com/cmt/archive/2009/09/26/1574616.html\">手机版</a></li>\n" "</ul>\n" "</div>\n" "<p class=\"r_l_1\"></p><p class=\"r_l_2\"></p><p class=\"r_l_3\"></p>\n" "<div class=\"l_s\"></div>\n" "<div id=\"user_stats\"></div>\n" "<div class=\"l_s\"></div> \n" "<p class=\"r_l_3\"></p><p class=\"r_l_2\"></p><p class=\"r_l_1\"></p>\n" "<div class=\"w_l\"> \n" "<h4>统计信息</h4>\n" "<div id=\"site_stats\"></div> \n" "</div>\n" "<p class=\"r_l_1\"></p><p class=\"r_l_2\"></p><p class=\"r_l_3\"></p>\n\n" " </div>\n" " <div id=\"side_right\">\n" " <div id=\"search_block\">\n" " <div class=\"side_search\">\n" " <input type=\"text\" id=\"zzk_q\" class=\"search_input\" onkeydown=\"return zzk_go_enter(event);\" tabindex=\"3\" /><input onclick=\"zzk_go()\" type=\"button\" class=\"search_btn\" value=\"找找看\" />\n" " </div>\n" " <div id=\"google_search\" class=\"side_search\">\n" " <input type=\"text\" id=\"google_search_q\" class=\"search_input\" onkeydown=\"return google_search_enter(event);\" /><input type=\"button\" value=\"Google\" class=\"search_btn\" onclick=\"return google_search();\" />\n" " </div>\n" " </div>\n" " <div id=\"cnblogs_a1\">\n" " <div id='div-gpt-ad-1547816814884-0' style='height:60px; width:468px;'>\n" " <script>\n" " googletag.cmd.push(function () { googletag.display('div-gpt-ad-1547816814884-0'); });\n" " </script>\n" " </div>\n" " </div>\n" " <div id=\"cnblogs_b1\" class=\"sidebar-image\">\n" " <div id='div-gpt-ad-1546331539224-0' style='height:250px; width:300px;'>\n" " <script>\n" " googletag.cmd.push(function () { googletag.display('div-gpt-ad-1546331539224-0'); });\n" " </script>\n" " </div>\n" " </div>\n" " <div id=\"ad_right_text\" class=\"ad_right_text\"></div>\n" " <div id=\"side_right_block\"></div>\n" " </div>\n" " </div>\n" " <div id=\"footer\">\n" " <div class=\"footer_block\">\n" " <p class=\"r_b_3\"></p><p class=\"r_b_2\"></p><p class=\"r_b_1\"></p><div id=\"friend_link\">\n" " 友情链接:<a href=\"https://www.aliyun.com\" target=\"_blank\">阿里云</a><a href=\"https://cloud.tencent.com/?fromSource=gwzcw.541531.541531.541531\" target=\"_blank\">腾讯云</a><a href=\"https://www.163yun.com\" target=\"_blank\">网易云</a><a href=\"https://cloud.baidu.com\" target=\"_blank\">百度云</a><a href=\"https://www.jdcloud.com\" target=\"_blank\">京东云</a><a href=\"http://www.hujiang.com\" target=\"_blank\">沪江网</a><a href=\"http://www.chinaz.com/\" target=\"_blank\">站长之家</a><a href=\"http://dev.yesky.com\" target=\"_blank\">天极网</a><a href=\"http://down.admin5.com\" target=\"_blank\">A5源码下载</a><a href=\"http://www.gcpowertools.com.cn\" target=\"_blank\">葡萄城控件</a><a href=\"https://www.upyun.com/?md=cnblogs\" target=\"_blank\">又拍云</a><a href=\"http://zt.cnblogs.com/tingyun/\" target=\"_blank\">听云APP</a><a href=\"http://www.hightopo.com/cn-index.html\" target=\"_blank\">图扑软件</a><a href=\"http://www.cnblogs.com/mipengine/\" target=\"_blank\">百度MIP博客</a><a href=\"http://wetest.qq.com/?from=links_cnblogs\" target=\"_blank\">腾讯WeTest</a><a href=\"http://yaq.qq.com/\" target=\"_blank\">腾讯御安全</a><a href=\"http://www.ucancode.com/index.html\" target=\"_blank\">工控组态源码</a><a href=\"https://163yun.cnblogs.com/\" target=\"_blank\">网易云博客</a><a href=\"https://www.qiniu.com/\" target=\"_blank\">七牛云</a><a href=\"https://www.huanpingge.com/\" target=\"_blank\">换屏哥手机维修</a>\n" "</div><p class=\"r_b_1\"></p><p class=\"r_b_2\"></p><p class=\"r_b_3\"></p>\n" " </div>\n" " </div>\n" " <div id=\"footer_bottom\">\n" " <div><a href=\"https://about.cnblogs.com/\">关于博客园</a><a href=\"https://about.cnblogs.com/contact\">联系我们</a><a href=\"https://about.cnblogs.com/ad\">广告服务</a>&copy;2004-2019<a href=\"http://www.cnblogs.com/\">博客园</a>保留所有权利<a href=\"http://www.miitbeian.gov.cn\" target=\"_blank\">沪ICP备09004260号</a></div>\n" " <div><a href=\"https://ss.knet.cn/verifyseal.dll?sn=e131108110100433392itm000000&amp;ct=df&amp;a=1&amp;pa=0.25787803245785335\" rel=\"nofollow\" target=\"_blank\"><img id=\"cnnic_img\" src=\"//common.cnblogs.com/images/cnnic.png\" alt=\"\" width=\"64\" height=\"23\" /></a><a target=\"_blank\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31011502001144\" style=\"display:inline-block;text-decoration:none;height:20px;line-height:20px;\"><img src=\"//common.cnblogs.com/images/ghs.png\" alt=\"\" /><img id=\"cnnic_img\" src=\"//common.cnblogs.com/images/cnnic.png\" alt=\"\" width=\"64\" height=\"23\" /></a><a target=\"_blank\" href=\"http://www.beian.gov.cn/portal/registerSystemInfo?recordcode=31011502001144\" style=\"display:inline-block;text-decoration:none;height:20px;line-height:20px;\"><img src=\"//common.cnblogs.com/images/ghs.png\" alt=\"\" /><span style=\"float:left;height:20px;line-height:20px;margin: 0 5px 0 5px; color:#939393;\">沪公网安备 31011502001144号</span></a></div>\n" " </div>\n" " </div>\n" "</body>\n" "</html>\n") matches = re.finditer(regex, test_str, re.MULTILINE) for matchNum, match in enumerate(matches, start=1): print ("Match {matchNum} was found at {start}-{end}: {match}".format(matchNum = matchNum, start = match.start(), end = match.end(), match = match.group())) for groupNum in range(0, len(match.groups())): groupNum = groupNum + 1 print ("Group {groupNum} found at {start}-{end}: {group}".format(groupNum = groupNum, start = match.start(groupNum), end = match.end(groupNum), group = match.group(groupNum))) # Note: for Python 2.7 compatibility, use ur"" to prefix the regex and u"" to prefix the test string and substitution.

Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Python, please visit: https://docs.python.org/3/library/re.html