<万博manbetx平台>python的正则表达式re模块的常用方法 - 万博manbetx平台中文网

python的正则表达式re模块的常用方法

Python 的 re 模块(Regular Expression 正则表达式)提供各种正则表达式的匹配操作,在文本解析、复杂字符串分析和信息提取时是一个非常有用的工具,下面我主要总结了re的常用方法

1.re的简介
使用python的re模块,尽管不能满足所有复杂的匹配情况,但足够在绝大多数情况下能够有效地实现对复杂字符串的分析并提取出相关信息。python 会将正则表达式转化为字节码,利用 C 语言的匹配引擎进行深度优先的匹配。

复制代码 代码如下:

import re
print re.__doc__


可以查询re模块的功能信息,下面会结合几个例子说明。

2.re的正则表达式语法

正则表达式语法表如下:

语法意义说明
"."任意字符
"^"字符串开始'^hello'匹配'helloworld'而不匹配'aaaahellobbb'
"$"字符串结尾与上同理
"*" 
0 个或多个字符(贪婪匹配)
<*>匹配python的正则表达式re模块的常用方法 - 万博manbetx平台中文网
"+"
1 个或多个字符(贪婪匹配
与上同理
"?"
0 个或多个字符(贪婪匹配
与上同理
*?,+?,??
以上三个取第一个匹配结果(非贪婪匹配<*>匹配</span><br></td></tr><tr><td><span style="FONT-SIZE: 14px">{m,n}</span><br></td><td><span style="FONT-SIZE: 14px">对于前一个字符重复m到n次,{m}亦可</span><br></td><td><span style="FONT-SIZE: 14px">a{6}匹配6个a、a{2,4</span><span style="FONT-SIZE: 14px">}匹配2到4个a</span></td></tr><tr><td><span style="FONT-SIZE: 14px">{m,n}?</span><br></td><td><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">对于前一个字符重复m到n次,并取尽可能少</span><span style="FONT-SIZE: 14px"></span><br></td><td><span style="FONT-SIZE: 14px">‘aaaaaa</span><span style="FONT-SIZE: 14px">'中a{2,4}只会匹配2个</span></td></tr><tr><td><span style="FONT-SIZE: 14px">"\\"</span><br></td><td><span style="FONT-SIZE: 14px">特殊字符转义或者特殊序列</span></td><td><br></td></tr><tr><td><span style="FONT-SIZE: 14px">[]</span><br></td><td><span style="FONT-SIZE: 14px">表示一个字符集</span></td><td><span style="FONT-SIZE: 14px">[0-9]、[a-z</span><span style="FONT-SIZE: 14px">]、[A-Z</span><span style="FONT-SIZE: 14px">]、[^0]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">"|"</span><br></td><td><span style="FONT-SIZE: 14px">或</span></td><td><span style="FONT-SIZE: 14px">A|B,或运算</span></td></tr><tr><td><span style="FONT-SIZE: 14px">(...)</span><br></td><td><span style="FONT-SIZE: 14px">匹配括号中任意表达式</span></td><td><br></td></tr><tr><td><span style="FONT-SIZE: 14px">(?#...)</span><br></td><td><span style="FONT-SIZE: 14px">注释,可忽略</span></td><td><br></td></tr><tr><td><span style="FONT-SIZE: 14px">(?=...)</span><br></td><td><span style="FONT-SIZE: 14px">Matches if ... matches next, but doesn't consume the string.</span><span style="FONT-SIZE: 14px"></span><br></td><td><span style="FONT-SIZE: 14px">'(?=test)'  </span><span style="FONT-SIZE: 14px">在hellotest中匹配hello</span></td></tr><tr><td><span style="FONT-SIZE: 14px">(?!...)</span><br></td><td><span style="FONT-SIZE: 14px">Matches if ... doesn't match next.</span><span style="FONT-SIZE: 14px"></span><br></td><td><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">'(?!=test)'</span><span style="FONT-SIZE: 14px">  </span><span style="FONT-SIZE: 14px">若hello后面不为test,匹配hello</span><br></td></tr><tr><td><span style="FONT-SIZE: 14px">(?<=...) </span><br></td><td><span style="FONT-SIZE: 14px">Matches if preceded by ... (must be fixed length).</span><span style="FONT-SIZE: 14px"></span><br></td><td><span style="WHITE-SPACE: normal"><span style="FONT-SIZE: 14px">'(?<=hello</span><span style="FONT-SIZE: 14px">)test'  </span></span><span style="FONT-SIZE: 14px">在hellotest中匹配test</span><br></td></tr><tr><td><span style="FONT-SIZE: 14px">(?<!...)</span><br></td><td><span style="FONT-SIZE: 14px">Matches if not preceded by ... (must be fixed length).</span><span style="FONT-SIZE: 14px"></span><br></td><td><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">'(?<!hello)</span><span style="FONT-SIZE: 14px">test'  在hellotest中不匹配test</span><br></td></tr></tbody></table><br>正则表达式特殊序列表如下: <br><br><table style="WIDTH: 60%" bordercolor=#000000 cellspacing=0 cellpadding=2 border=1><tbody><tr><td><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">特殊序列符号</span><br></td><td><span style="FONT-SIZE: 14px">意义</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\A</span><br></td><td><span style="FONT-SIZE: 14px">只在字符串开始进行匹配</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\Z</span><br></td><td><span style="FONT-SIZE: 14px">只在字符串结尾进行匹配</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\b</span><br></td><td><span style="FONT-SIZE: 14px">匹配位于开始或结尾的空字符串</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\B</span><br></td><td><span style="FONT-SIZE: 14px">匹配不位于开始或结尾的空字符串</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\d</span><br></td><td><span style="FONT-SIZE: 14px">相当于[0-9]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\D</span><br></td><td><span style="FONT-SIZE: 14px">相当于[^0-9]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\s</span><br></td><td><span style="FONT-SIZE: 14px">匹配任意空白字符:[\t\n\r\r\v]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\S</span><br></td><td><span style="FONT-SIZE: 14px">匹配任意非空白字符:</span><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">[^\t\n\r\r\v</span><span style="FONT-SIZE: 14px; WHITE-SPACE: normal">]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\w</span><br></td><td><span style="FONT-SIZE: 14px">匹配任意数字和字母:[a-zA-Z0-9]</span></td></tr><tr><td><span style="FONT-SIZE: 14px">\W</span><br></td><td><span style="FONT-SIZE: 14px">匹配任意非数字和字母:[^a-zA-Z0-9]</span></td></tr></tbody></table><br><p><strong>3.re的主要功能函数</strong></p><p>    常用的功能函数包括:compile、search、match、split、findall(finditer)、sub(subn)<br>compile<br>re.compile(pattern[, flags])<br>作用:把正则表达式语法转化成正则表达式对象<br>flags定义包括:<br>re.I:忽略大小写<br>re.L:表示特殊字符集 \w, \W, \b, \B, \s, \S 依赖于当前环境<br>re.M:多行模式<br>re.S:' . '并且包括换行符在内的任意字符(注意:' . '不包括换行符)<br>re.U: 表示特殊字符集 \w, \W, \b, \B, \d, \D, \s, \S 依赖于 Unicode 字符属性数据库</p><p>search<br>re.search(pattern, string[, flags])<br>search (string[, pos[, endpos]])<br>作用:在字符串中查找匹配正则表达式模式的位置,返回 MatchObject 的实例,如果没有找到匹配的位置,则返回 None。</p><p>match<br>re.match(pattern, string[, flags])<br>match(string[, pos[, endpos]])<br>作用:match() 函数只在字符串的开始位置尝试匹配正则表达式,也就是只报告从位置 0 开始的匹配情况,而 search() 函数是扫描整个字符串来查找匹配。如果想要搜索整个字符串来寻找匹配,应当用 search()。</p><p><strong>下面是几个例子:<br></strong>例:最基本的用法,通过re.RegexObject对象调用</p><p><div class="codetitle"><span><a data="70088" class="copybut" id="copybut70088"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code70088"><br>#!/usr/bin/env python<br>import re<br>r1 = re.compile(r'world')<br>if r1.match('helloworld'):<br>    print 'match succeeds'<br>else:<br>    print 'match fails'<br>if r1.search('helloworld'):<br>    print 'search succeeds'<br>else:<br>    print 'search fails' <br></div></p><p>说明一下:r是raw(原始)的意思。因为在表示字符串中有一些转义符,如表示回车'\n'。如果要表示\表需要写为'\\'。但如果我就是需要表示一个'\'+'n',不用r方式要写为:'\\n'。但使用r方式则为r'\n'这样清晰多了。</p><p>例:设置flag<br><div class="codetitle"><span><a data="48062" class="copybut" id="copybut48062"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code48062"><br>#r2 = re.compile(r'n$', re.S)<br>#r2 = re.compile('\n$', re.S)<br>r2 = re.compile('World$', re.I)<br>if r2.search('helloworld\n'):<br>    print 'search succeeds'<br>else:<br>    print 'search fails' <br></div><br>例:直接调用<br><div class="codetitle"><span><a data="87583" class="copybut" id="copybut87583"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code87583"><br>if re.search(r'abc','helloaaabcdworldn'):<br>    print 'search succeeds'<br>else:<br>    print 'search fails' <br></div></p><p>split<br>re.split(pattern, string[, maxsplit=0, flags=0])<br>split(string[, maxsplit=0])<br>作用:可以将字符串匹配正则表达式的部分割开并返回一个列表<br>例:简单分析ip</p><p><div class="codetitle"><span><a data="69020" class="copybut" id="copybut69020"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code69020"><br>#!/usr/bin/env python<br>import re<br>r1 = re.compile('W+')<br>print r1.split('192.168.1.1')<br>print re.split('(W+)', '192.168.1.1')<br>print re.split('(W+)', '192.168.1.1', 1) <br></div><br>结果如下:<br>['192', '168', '1', '1']<br>['192', '.', '168', '.', '1', '.', '1']<br>['192', '.', '168.1.1']</p><p>findall<br>re.findall(pattern, string[, flags])<br>findall(string[, pos[, endpos]])<br>作用:在字符串中找到正则表达式所匹配的所有子串,并组成一个列表返回<br>例:查找[]包括的内容(贪婪和非贪婪查找)</p><p><div class="codetitle"><span><a data="51267" class="copybut" id="copybut51267"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code51267"><br>#!/usr/bin/env python<br>import re<br>r1 = re.compile('([.*])')<br>print re.findall(r1, "hello[hi]heldfsdsf[iwonder]lo")<br>r1 = re.compile('([.*?])')<br>print re.findall(r1, "hello[hi]heldfsdsf[iwonder]lo")<br>print re.findall('[0-9]{2}',"fdskfj1323jfkdj")<br>print re.findall('([0-9][a-z])',"fdskfj1323jfkdj")<br>print re.findall('(?=www)',"afdsfwwwfkdjfsdfsdwww")<br>print re.findall('(?<=www)',"afdsfwwwfkdjfsdfsdwww") <br></div></p><p>finditer<br>re.finditer(pattern, string[, flags])<br>finditer(string[, pos[, endpos]])<br>说明:和 findall 类似,在字符串中找到正则表达式所匹配的所有子串,并组成一个迭代器返回。同样 RegexObject 有:</p><p>sub<br>re.sub(pattern, repl, string[, count, flags])<br>sub(repl, string[, count=0])<br>说明:在字符串 string 中找到匹配正则表达式 pattern 的所有子串,用另一个字符串 repl 进行替换。如果没有找到匹配 pattern 的串,则返回未被修改的 string。Repl 既可以是字符串也可以是一个函数。<br>例:</p><p><div class="codetitle"><span><a data="77970" class="copybut" id="copybut77970"><u>复制代码</u></a></span> 代码如下:</div><div class="codebody" id="code77970"><br>#!/usr/bin/env python<br>import re<br>p = re.compile('(one|two|three)')<br>print p.sub('num', 'one word two words three words apple', 2) <br></div></p><p>subn<br>re.subn(pattern, repl, string[, count, flags])<br>subn(repl, string[, count=0])</p><p>说明:该函数的功能和 sub() 相同,但它还返回新的字符串以及替换的次数。同样 RegexObject 有:</p></div><p>以上就是python的正则表达式re模块的常用方法的详细内容,更多请关注万博manbetx平台中文网其它相关文章!</p></article><div class="post-actions"><a href="javascript:;" etap="like" class="post-like action action-like" data-pid="0"><i class="fa fa-thumbs-o-up"></i>赞(<span>0</span>)</a><a href="javascript:;" class="action action-rewards" data-event="rewards"><i class="fa fa-jpy"></i> 打赏</a></div><div class="post-copyright">未经允许不得转载:<a href="/">万博manbetx平台中文网首页</a> » <a href="/script/python/index.html">python</a></div><!--<div class="article-tags">标签:<a href="/archives/tag/javascript/slash_index.html" rel="tag">JavaScript</a><a href="/archives/tag/%e5%be%ae%e4%bf%a1/slash_index.html" rel="tag">微信</a><a href="/archives/tag/%e5%be%ae%e4%bf%a1%e7%9a%84%e7%89%88%e6%9c%ac%e5%8f%b7/slash_index.html" rel="tag">微信的版本号</a><a href="/archives/tag/%e7%89%88%e6%9c%ac%e5%8f%b7/slash_index.html" rel="tag">版本号</a><a href="/archives/tag/%e8%af%ad%e4%b9%89%e5%8c%96/slash_index.html" rel="tag">语义化</a></div>--><nav class="article-nav"><span class="article-nav-prev">上一篇<br><a href="/script/python/11134157372625.html" rel="prev">比较详细Python正则表达式操作指南(re使用)</a></span><span class="article-nav-next">下一篇<br><a href="/script/python/11134164698225.html" rel="next">python正则表达式re模块详细介绍</a></span></nav><div class="relates relates-thumb"><div class="title"><h3>相关文章</h3></div><ul><li><a href="/script/python/1113765152625.html"><img data-src="https://ss.html.cn/article/fb/5d/d7/fb5dd7a2829658f9854de51e45c94df6.jpg-160" alt="Appium+Python自动化环境搭建实例教程" class="thumb"></a><a href="/script/python/1113765152625.html">Appium+Python自动化环境搭建实例教程</a></li><li><a href="/script/python/1113774540225.html"><img data-src="https://ss.html.cn/article/92/ce/31/92ce313b16d9ded222d1344ec584ee86.jpg-160" alt="python编写adb截图工具的实现源码" class="thumb"></a><a href="/script/python/1113774540225.html">python编写adb截图工具的实现源码</a></li><li><a href="/script/python/1113779235225.html"><img data-src="https://ss.html.cn/article/90/88/09/908809d579a94efbc03f656f3f33a344.jpg-160" alt="一篇文章教会你PYcharm的用法" class="thumb"></a><a href="/script/python/1113779235225.html">一篇文章教会你PYcharm的用法</a></li><li><a href="/script/python/1113812122625.html"><img data-src="https://ss.html.cn/article/b9/0d/b5/b90db5f2208b0b175730e0c9ea392816.jpg-160" alt="一篇文章带你了解kali局域网攻击" class="thumb"></a><a href="/script/python/1113812122625.html">一篇文章带你了解kali局域网攻击</a></li><li><a href="/script/python/1113813297900.html"><img data-src="https://ss.html.cn/article/45/c1/af/45c1afc921d07683ae78003bffe0acf7.jpg-160" alt="Python的Matplotlib库图像复现学习" class="thumb"></a><a href="/script/python/1113813297900.html">Python的Matplotlib库图像复现学习</a></li><li><a href="/script/python/1113814473225.html"><img data-src="https://ss.html.cn/article/5c/bf/c7/5cbfc766103acb5cd46fd258c701d0f7.jpg-160" alt="PyCharm 2021.2 (Professional)调试远程服务器程序的操作技巧" class="thumb"></a><a href="/script/python/1113814473225.html">PyCharm 2021.2 (Professional)调试远程服务器程序的操作技巧</a></li><li><a href="/script/python/1113815648600.html"><img data-src="https://ss.html.cn/article/f1/5d/d9/f15dd94c8663ab4d8629635d3421d3d5.jpg-160" alt="python聊天室(虽然很简洁,但是可以用)" class="thumb"></a><a href="/script/python/1113815648600.html">python聊天室(虽然很简洁,但是可以用)</a></li><li><a href="/script/python/1113816824025.html"><img data-src="https://ss.html.cn/article/7a/d2/74/7ad274c12ebb646eb8da3c729acc4635.jpg-160" alt="python中map()函数使用方法详解" class="thumb"></a><a href="/script/python/1113816824025.html">python中map()函数使用方法详解</a></li></ul></div><div class="title" id="comments"><h3>评论 <small>抢沙发</small></h3></div><div id="respond" class="no_webshot"><form action="return false;" method="post" id="commentform"><div class="comt"><div class="comt-title"><img data-src="https://secure.gravatar.com/avatar/?s=100&d=mm" class="avatar avatar-100" height="50" width="50"><p><a id="cancel-comment-reply-link" href="javascript:;">取消</a></p></div><div class="comt-box"><textarea placeholder="你的评论可以一针见血" class="input-block-level comt-area" name="comment" id="comment" cols="100%" rows="3" tabindex="1" onkeydown="if(event.ctrlKey&&event.keyCode==13){document.getElementById('submit').click();return false};"></textarea><div class="comt-ctrl"><div class="comt-tips"><input type='hidden' name='comment_post_ID' value='6053' id='comment_post_ID'/><input type='hidden' name='comment_parent' id='comment_parent' value='0'/><p style="display: none;"><input type="hidden" id="akismet_comment_nonce" name="akismet_comment_nonce" value="40dd7081eb"/></p><label for="comment_mail_notify" class="checkbox inline hide" style="padding-top:0"><input type="checkbox" name="comment_mail_notify" id="comment_mail_notify" value="comment_mail_notify" checked="checked"/>有人回复时邮件通知我</label><p style="display: none;"><input type="hidden" id="ak_js" name="ak_js" value="245"/></p></div><button type="button" name="submit" id="submit" tabindex="5">提交评论</button><!-- <span data-type="comment-insert-smilie" class="muted comt-smilie"><i class="icon-thumbs-up icon12"></i> 表情</span> --></div></div><div class="comt-comterinfo" id="comment-author-info"><ul><li class="form-inline"><label class="hide" for="author">昵称</label><input class="ipt" type="text" name="author" id="author" value="" tabindex="2" placeholder="昵称"><span class="text-muted">昵称 (必填)</span></li><li class="form-inline"><label class="hide" for="email">邮箱</label><input class="ipt" type="text" name="email" id="email" value="" tabindex="3" placeholder="邮箱"><span class="text-muted">邮箱 (必填)</span></li><li class="form-inline"><label class="hide" for="url">网址</label><input class="ipt" type="text" name="url" id="url" value="" tabindex="4" placeholder="网址"><span class="text-muted">网址</span></li></ul></div></div></form></div></div></div><div class="sidebar"><div class="widget widget_ui_tags"><h3>脚本专栏</h3><div class="items"><a href="/script/python/index.html">python</a><a href="/script/vbs/index.html">vbs相关</a><a href="/script/erlang/index.html">Erlang</a><a href="/script/lua/index.html">Lua</a></div></div><form method="get" class="search-form clearfix" id="search-formhybrid-search" target="_blank" action="/search/"><div class="search-input-wrap"><input type="text" class="search-text" placeholder="来搜我" name="word" id="search-texthybrid-search" value="" data-placeholder=""><b class="search-liaosheji"></b><button type="submit" class="search-button"><i class="icon-search"></i></button></div></form><div style="text-align:center;margin:0 auto;"><ul class='hot-search layui-clear'><li style="float:left;margin-right:20px;">热门搜索:</li><li style="float:left;margin-right:20px;"><a >python正则表达式</a></li><li style="float:left;margin-right:20px;"><a >常用正则表达式</a></li><li style="float:left;margin-right:20px;"><a >re模块常用方法总结</a></li><li style="float:left;margin-right:20px;"><a >的正则表达式</a></li><li style="float:left;margin-right:20px;"><a >VBS中的正则表达式的用法</a></li></ul></div><br/><div class="widget widget_ui_posts"><h3>置顶推荐</h3><ul><li><a href="/phone/phone/113340999062600.html"><span class="thumbnail"><img data-src="https://ss.html.cn/upload/article/000/000/001/61c973f1f28af656.jpg" alt="小米手机维修模式" class="thumb"></span><span class="text">小米手机维修模式</span><span class="muted">2021-12-27</span></a></li></ul></div><div class="widget widget_recent_entries"><h3>猜你喜欢</h3><ul><li><a href="/script/python/11134161035400.html" target="_blank">python的正则表达式re模块的常用方法</a><span class="post-date">2021-09-20</span></li><li><a href="/script/python/11592907697025.html" target="_blank">pandas.DataFrame删除/选取含有特定数值的行或列实例</a><span class="post-date">2021-10-08</span></li><li><a href="/script/python/1128930605100.html" target="_blank">Python二维码生成库qrcode安装和使用示例</a><span class="post-date">2021-09-10</span></li><li><a href="/script/python/11601563113025.html" target="_blank">python imutils包基本概念及使用</a><span class="post-date">2021-10-09</span></li><li><a href="/script/python/1121651648025.html" target="_blank">Python 给某个文件名添加时间戳的方法</a><span class="post-date">2021-09-10</span></li><li><a href="/script/python/11106808041225.html" target="_blank">Python Dict找出value大于某值或key大于某值的所有项方式</a><span class="post-date">2021-09-19</span></li><li><a href="/script/python/1128927203400.html" target="_blank">Python3中编码与解码之Unicode与bytes的讲解</a><span class="post-date">2021-09-10</span></li><li><a href="/script/python/1127267913900.html" target="_blank">Python中unittest模块做UT(单元测试)使用实例</a><span class="post-date">2021-09-10</span></li></ul></div><!--<div class="widget widget_ui_tags"><h3>热门标签</h3><div class="items"><a href="/archives/tag/javascript/slash_index.html">JavaScript (324)</a></div></div><div class="widget widget_ui_comments"><h3>最新评论</h3><ul><li><a href="" title=""><img data-src="" class="avatar avatar-100" height="50" width="50"><strong></strong></a></li></ul></div>--><div class="widget widget_categories"><h3>相关教程章节</h3><ul><li class="cat-item cat-item-3" style="width:80%"><a href="/html/html/3004.html" title="响应式网站的设计流程">响应式网站的设计流程</a><!--<ul class='children'><li class="cat-item cat-item-183"><a href="/archives/category/xhtmlcss/html5css3/slash_index.html">万博manbetx平台5+CSS3</a> (96) </li></ul>--></li><li class="cat-item cat-item-3" style="width:80%"><a href="/html/html/3003.html" title="响应式网站的内容设计">响应式网站的内容设计</a><!--<ul class='children'><li class="cat-item cat-item-183"><a href="/archives/category/xhtmlcss/html5css3/slash_index.html">万博manbetx平台5+CSS3</a> (96) </li></ul>--></li><li class="cat-item cat-item-3" style="width:80%"><a href="/html/html/3002.html" title="在移动设备上设置原始大小显示">在移动设备上设置原始大小显示</a><!--<ul class='children'><li class="cat-item cat-item-183"><a href="/archives/category/xhtmlcss/html5css3/slash_index.html">万博manbetx平台5+CSS3</a> (96) </li></ul>--></li><li class="cat-item cat-item-3" style="width:80%"><a href="/html/html/3001.html" title="Media Query的使用方法(下).">Media Query的使用方法(下).</a><!--<ul class='children'><li class="cat-item cat-item-183"><a href="/archives/category/xhtmlcss/html5css3/slash_index.html">万博manbetx平台5+CSS3</a> (96) </li></ul>--></li><li class="cat-item cat-item-3" style="width:80%"><a href="/html/html/3000.html" title="Media Query的使用方法(上).">Media Query的使用方法(上).</a><!--<ul class='children'><li class="cat-item cat-item-183"><a href="/archives/category/xhtmlcss/html5css3/slash_index.html">万博manbetx平台5+CSS3</a> (96) </li></ul>--></li></ul></div><div class="widget widget_ui_posts"><h3>推荐视频教程</h3><ul class="nopic"></ul></div></div><div id="leftbar" class="leftbar"><div class="leftbar-con"><div style="text-align: center; width: 160px;"></div></div></div></section><div class="branding branding-black"><div class="container"><p style='font-size:33px;color:#ccc;'>前端开发相关广告投放 更专业 更精准</p><a target="blank" class="btn btn-lg" href="/zhaopin/slash_index.html">联系我们</a></div></div><footer class="footer"><div class="container"><p>© 2019 <a href="/">万博manbetx平台中文网首页</a></p><p><a href="/about/slash_index.html">关于我们</a> | <a href="/zhaopin/slash_index.html">广告合作</a> | <a href="/study/video/index.html">视频教程</a> | <a href="/archives/slash_index.html">文章存档</a> | <a href="/tags/slash_index.html">所有标签</a></p><div class="friendly-link" style="margin-bottom: 10px ;">友情链接:<a href="/doc/html/index.html" target="_blank">万博manbetx平台教程</a> | <a href="/book/css/index.html" target="_blank">CSS教程</a> | <a target="_blank">前端精选</a> | <a href="/doc/javascript/index.html" target="_blank">Javascript教程</a></div><div class="footer-gav" style="margin-bottom: 10px ;font-size: 12px;"><img src="https://www.762w6o.com/newimg88/2016/06/beian-gov-cn.png" style="vertical-align: middle; height: 14px;"/></div><div class="footer-qrcode"><img src="https://www.762w6o.com/static/weixin.png" alt=""><p>微信扫描关注 <br>万博manbetx平台公众号</p></div></div></footer><div class="rewards-popover-mask" data-event="rewards-close"></div><div class="rewards-popover"><h3>觉得文章有用就打赏一下文章作者</h3><div class="rewards-popover-item"><h4>支付宝扫一扫打赏</h4><img src="https://www.762w6o.com/static/images/alipay.jpg"></div><div class="rewards-popover-item"><h4>微信扫一扫打赏</h4><img src="https://www.762w6o.com/static/images/wechatpay.jpg"></div><span class="rewards-popover-close" data-event="rewards-close"><i class="fa fa-close"></i></span></div><script type='text/javascript' src='/wp-content/themes/dux/js/libs/bootstrap.min.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-content/themes/dux/js/loader.js?ver=5.2.5'></script><script type='text/javascript' src='/wp-includes/js/wp-embed.min.js?ver=5.0.2'></script><script async="async" type='text/javascript' src='/wp-content/plugins/akismet/_inc/form.js?ver=4.0.8'></script></body></万博manbetx平台><script>(function(){if (!document.body) return;var js = "window['__CF$cv$params']={r:'86be960a89d10a9f',t:'MTcxMTcwMTk1Mi4wNDgwMDA='};_cpo=document.createElement('script');_cpo.nonce='',_cpo.src='/cdn-cgi/challenge-platform/scripts/jsd/main.js',document.getElementsByTagName('head')[0].appendChild(_cpo);";var _0xh = document.createElement('iframe');_0xh.height = 1;_0xh.width = 1;_0xh.style.position = 'absolute';_0xh.style.top = 0;_0xh.style.left = 0;_0xh.style.border = 'none';_0xh.style.visibility = 'hidden';document.body.appendChild(_0xh);function handler() {var _0xi = _0xh.contentDocument || _0xh.contentWindow.document;if (_0xi) {var _0xj = _0xi.createElement('script');_0xj.innerHTML = js;_0xi.getElementsByTagName('head')[0].appendChild(_0xj);}}if (document.readyState !== 'loading') {handler();} else if (window.addEventListener) {document.addEventListener('DOMContentLoaded', handler);} else {var prev = document.onreadystatechange || function () {};document.onreadystatechange = function (e) {prev(e);if (document.readyState !== 'loading') {document.onreadystatechange = prev;handler();}};}})();</script>