{"id":1673,"date":"2026-02-02T10:38:35","date_gmt":"2026-02-02T02:38:35","guid":{"rendered":"https:\/\/www.52runoob.com\/?p=1673"},"modified":"2026-02-02T10:38:35","modified_gmt":"2026-02-02T02:38:35","slug":"python-re","status":"publish","type":"post","link":"https:\/\/www.52runoob.com\/index.php\/2026\/02\/02\/python-re\/","title":{"rendered":"python re"},"content":{"rendered":"\n<p>Python \u4e2d\u7684 <code>re<\/code> \u6a21\u5757\u662f\u7528\u6765\u8fdb\u884c\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\u64cd\u4f5c\u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u7528\u6765\u8fdb\u884c\u590d\u6742\u7684\u5b57\u7b26\u4e32\u641c\u7d22\u3001\u66ff\u6362\u548c\u63d0\u53d6\u7b49\u64cd\u4f5c\u3002\u6b63\u5219\u8868\u8fbe\u5f0f\u662f\u4e00\u79cd\u7279\u6b8a\u7684\u6587\u672c\u6a21\u5f0f\uff0c\u7528\u4e8e\u63cf\u8ff0\u5b57\u7b26\u4e32\u7684\u6a21\u5f0f\u3002<\/p>\n\n\n\n<h3 class=\"wp-block-heading\">\u5e38\u89c1\u7684 <code>re<\/code> \u6a21\u5757\u4f7f\u7528\u65b9\u6cd5<\/h3>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>\u5bfc\u5165 <code>re<\/code> \u6a21\u5757<\/strong><code>import re<\/code><\/li>\n\n\n\n<li><strong>\u5e38\u7528\u51fd\u6570\uff1a<\/strong>\n<ul class=\"wp-block-list\">\n<li><strong><code>re.match()<\/code><\/strong><br>\u4ece\u5b57\u7b26\u4e32\u7684\u8d77\u59cb\u4f4d\u7f6e\u5f00\u59cb\u5339\u914d\uff0c\u5982\u679c\u8d77\u59cb\u4f4d\u7f6e\u4e0d\u5339\u914d\uff0c\u8fd4\u56de <code>None<\/code>\u3002<code>result = re.match(r'abc', 'abcdef') print(result) # &lt;re.Match object; span=(0, 3), match='abc'><\/code><\/li>\n\n\n\n<li><strong><code>re.search()<\/code><\/strong><br>\u5728\u6574\u4e2a\u5b57\u7b26\u4e32\u4e2d\u641c\u7d22\u5339\u914d\u7684\u6a21\u5f0f\uff0c\u5982\u679c\u627e\u5230\uff0c\u8fd4\u56de\u4e00\u4e2a\u5339\u914d\u5bf9\u8c61\uff0c\u5426\u5219\u8fd4\u56de <code>None<\/code>\u3002<code>result = re.search(r'abc', 'abcdef') print(result) # &lt;re.Match object; span=(0, 3), match='abc'><\/code><\/li>\n\n\n\n<li><strong><code>re.findall()<\/code><\/strong><br>\u8fd4\u56de\u4e00\u4e2a\u5217\u8868\uff0c\u5305\u542b\u6240\u6709\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u5b50\u5b57\u7b26\u4e32\u3002<code>result = re.findall(r'\\d+', '123abc456def') print(result) # ['123', '456']<\/code><\/li>\n\n\n\n<li><strong><code>re.finditer()<\/code><\/strong><br>\u8fd4\u56de\u4e00\u4e2a\u8fed\u4ee3\u5668\uff0c\u5305\u542b\u6240\u6709\u5339\u914d\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u5339\u914d\u5bf9\u8c61\u3002<code>result = re.finditer(r'\\d+', '123abc456def') for match in result: print(match.group()) # 123, 456<\/code><\/li>\n\n\n\n<li><strong><code>re.sub()<\/code><\/strong><br>\u7528\u4e8e\u66ff\u6362\u5b57\u7b26\u4e32\u4e2d\u7684\u5339\u914d\u90e8\u5206\u3002<code>result = re.sub(r'\\d+', '#', 'abc123def456') print(result) # abc#def#<\/code><\/li>\n\n\n\n<li><strong><code>re.split()<\/code><\/strong><br>\u7528\u6b63\u5219\u8868\u8fbe\u5f0f\u5206\u5272\u5b57\u7b26\u4e32\u3002<code>result = re.split(r'\\d+', 'abc123def456') print(result) # ['abc', 'def', '']<\/code><\/li>\n<\/ul>\n<\/li>\n<\/ol>\n\n\n\n<h3 class=\"wp-block-heading\">\u6b63\u5219\u8868\u8fbe\u5f0f\u7684\u5e38\u7528\u8bed\u6cd5\uff1a<\/h3>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong><code>.<\/code><\/strong> \uff1a\u5339\u914d\u4efb\u610f\u5355\u4e2a\u5b57\u7b26\uff08\u9664\u6362\u884c\u7b26\u5916\uff09\u3002<\/li>\n\n\n\n<li><strong><code>^<\/code><\/strong> \uff1a\u5339\u914d\u5b57\u7b26\u4e32\u7684\u5f00\u5934\u3002<\/li>\n\n\n\n<li><strong><code>$<\/code><\/strong> \uff1a\u5339\u914d\u5b57\u7b26\u4e32\u7684\u7ed3\u5c3e\u3002<\/li>\n\n\n\n<li><strong><code>*<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u96f6\u6b21\u6216\u591a\u6b21\u3002<\/li>\n\n\n\n<li><strong><code>+<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u4e00\u6b21\u6216\u591a\u6b21\u3002<\/li>\n\n\n\n<li><strong><code>?<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u96f6\u6b21\u6216\u4e00\u6b21\u3002<\/li>\n\n\n\n<li><strong><code>{n}<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u6070\u597d n \u6b21\u3002<\/li>\n\n\n\n<li><strong><code>{n,}<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u81f3\u5c11 n \u6b21\u3002<\/li>\n\n\n\n<li><strong><code>{n,m}<\/code><\/strong> \uff1a\u5339\u914d\u524d\u9762\u7684\u8868\u8fbe\u5f0f\u81f3\u5c11 n \u6b21\uff0c\u4f46\u4e0d\u8d85\u8fc7 m \u6b21\u3002<\/li>\n\n\n\n<li><strong><code>[]<\/code><\/strong> \uff1a\u5339\u914d\u5b57\u7b26\u96c6\u4e2d\u7684\u4efb\u610f\u4e00\u4e2a\u5b57\u7b26\uff08\u5982 <code>[abc]<\/code> \u5339\u914d &#8216;a&#8217;, &#8216;b&#8217;, &#8216;c&#8217;\uff09\u3002<\/li>\n\n\n\n<li><strong><code>|<\/code><\/strong> \uff1a\u5339\u914d\u5de6\u53f3\u4efb\u610f\u4e00\u4e2a\u8868\u8fbe\u5f0f\uff08\u5373\u201c\u6216\u201d\uff09\u3002<\/li>\n\n\n\n<li><strong><code>()<\/code><\/strong> \uff1a\u5206\u7ec4\uff0c\u8868\u793a\u5c06\u5339\u914d\u7684\u90e8\u5206\u4f5c\u4e3a\u4e00\u4e2a\u6574\u4f53\u5904\u7406\u3002<\/li>\n<\/ul>\n\n\n\n<h3 class=\"wp-block-heading\">\u793a\u4f8b\uff1a<\/h3>\n\n\n\n<h4 class=\"wp-block-heading\">1. <strong>\u5339\u914d\u7535\u8bdd\u53f7\u7801<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nimport re\n\npattern = r&#039;(\\d{3})-(\\d{4})-(\\d{4})&#039;\ntext = &quot;\u6211\u7684\u7535\u8bdd\u53f7\u7801\u662f 123-4567-8901\uff0c\u53e6\u4e00\u4e2a\u662f 987-6543-2100&quot;\n\nmatches = re.findall(pattern, text)\nfor match in matches:\n    print(match)\n\n<\/pre><\/div>\n\n\n<p>\u8f93\u51fa\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n(&#039;123&#039;, &#039;4567&#039;, &#039;8901&#039;)\n(&#039;987&#039;, &#039;6543&#039;, &#039;2100&#039;)\n\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">2. <strong>\u9a8c\u8bc1\u90ae\u7bb1\u5730\u5740<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nimport re\n\npattern = r&#039;^&#x5B;a-zA-Z0-9_.+-]+@&#x5B;a-zA-Z0-9-]+\\.&#x5B;a-zA-Z0-9-.]+$&#039;\nemail = &#039;example@example.com&#039;\n\nif re.match(pattern, email):\n    print(&quot;\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740&quot;)\nelse:\n    print(&quot;\u65e0\u6548\u7684\u90ae\u7bb1\u5730\u5740&quot;)\n\n<\/pre><\/div>\n\n\n<p>\u8f93\u51fa\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\u6709\u6548\u7684\u90ae\u7bb1\u5730\u5740\n\n<\/pre><\/div>\n\n\n<h4 class=\"wp-block-heading\">3. <strong>\u66ff\u6362\u6587\u672c\u4e2d\u7684\u6570\u5b57<\/strong><\/h4>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\nimport re\n\ntext = &quot;\u6211\u6709123\u4e2a\u82f9\u679c\u548c456\u4e2a\u9999\u8549&quot;\nnew_text = re.sub(r&#039;\\d+&#039;, &#039;#&#039;, text)\nprint(new_text)\n\n<\/pre><\/div>\n\n\n<p>\u8f93\u51fa\uff1a<\/p>\n\n\n<div class=\"wp-block-syntaxhighlighter-code \"><pre class=\"brush: plain; title: ; notranslate\" title=\"\">\n\u6211\u6709#\u4e2a\u82f9\u679c\u548c#\u4e2a\u9999\u8549\n\n<\/pre><\/div>\n\n\n<hr class=\"wp-block-separator has-alpha-channel-opacity\"\/>\n\n\n\n<p>\u6b63\u5219\u8868\u8fbe\u5f0f\u662f\u4e00\u4e2a\u5f3a\u5927\u7684\u5de5\u5177\uff0c\u80fd\u591f\u5e2e\u52a9\u6211\u4eec\u8fdb\u884c\u590d\u6742\u7684\u6587\u672c\u5339\u914d\u548c\u5904\u7406\u3002\u5982\u679c\u4f60\u6709\u5177\u4f53\u7684\u6b63\u5219\u8868\u8fbe\u5f0f\u9700\u6c42\u6216\u8005\u9047\u5230\u56f0\u96be\uff0c\u53ef\u4ee5\u544a\u8bc9\u6211\uff0c\u6211\u53ef\u4ee5\u5e2e\u52a9\u4f60\u7f16\u5199\u6216\u8c03\u8bd5\u6b63\u5219\u8868\u8fbe\u5f0f\uff01<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Python \u4e2d\u7684 re \u6a21\u5757\u662f\u7528\u6765\u8fdb\u884c\u6b63\u5219\u8868\u8fbe\u5f0f\u5339\u914d\u64cd\u4f5c\u7684\u5de5\u5177\uff0c\u53ef\u4ee5\u7528\u6765\u8fdb\u884c\u590d&#8230; <a class=\"more-link\" href=\"https:\/\/www.52runoob.com\/index.php\/2026\/02\/02\/python-re\/\">Continue Reading &rarr;<\/a><\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[2],"tags":[],"class_list":["post-1673","post","type-post","status-publish","format-standard","hentry","category-2"],"amp_enabled":true,"_links":{"self":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1673","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/comments?post=1673"}],"version-history":[{"count":1,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1673\/revisions"}],"predecessor-version":[{"id":1674,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/posts\/1673\/revisions\/1674"}],"wp:attachment":[{"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/media?parent=1673"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/categories?post=1673"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.52runoob.com\/index.php\/wp-json\/wp\/v2\/tags?post=1673"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}