学Python正则表达式,这一篇就够了

  正则表达式是一个特殊的字符序列,可以帮助您使用模式中保留的专门语法来匹配或查找其他字符串或字符串集。 正则表达式在UNIX世界中被广泛使用。

  注:很多开发人员觉得正则表达式比较难以理解,主要原因是缺少使用或不愿意在这上面花时间。

  re模块在Python中提供对Perl类正则表达式的完全支持。如果在编译或使用正则表达式时发生错误,则re模块会引发异常re.error。

  在这篇文章中,将介绍两个重要的功能,用来处理正则表达式。 然而,首先是一件小事:有各种各样的字符,这些字符在正则表达式中使用时会有特殊的意义。 为了在处理正则表达式时避免混淆,我们将使用:r'expression'原始字符串。

  匹配单个字符的基本模式

  编译标志可以修改正则表达式的某些方面。标志在re模块中有两个名称:一个很长的名称,如IGNORECASE,和一个简短的单字母形式,如。

  1.match函数

  此函数尝试将RE模式与可选标志的字符串进行匹配。

  下面是函数的语法 :

  这里是参数的描述 :

  pattern : 这是要匹配的正则表达式。

  string : 这是字符串,它将被搜索用于匹配字符串开头的模式。 |

  flags : 可以使用按位OR(|)指定不同的标志。 这些是修饰符,如下表所列。

  re.match函数在成功时返回匹配对象,失败时返回None。使用match(num)或groups()函数匹配对象来获取匹配的表达式。

  示例

  当执行上述代码时,会产生以下结果 :

  2.search函数

  此函数尝试将RE模式与可选标志的字符串进行匹配。

  下面是这个函数的语法 :

  这里是参数的描述 :

  pattern : 这是要匹配的正则表达式。

  string : 这是字符串,它将被搜索用于匹配字符串开头的模式。 |

  flags : 可以使用按位OR(|)指定不同的标志。 这些是修饰符,如下表所列。

  re.search函数在成功时返回匹配对象,否则返回None。使用match对象的group(num)或groups()函数来获取匹配的表达式。

  示例

  当执行上述代码时,会产生以下结果 :

  3.匹配与搜索

  Python提供基于正则表达式的两种不同的原始操作:match检查仅匹配字符串的开头,而search检查字符串中任何位置的匹配(这是Perl默认情况下的匹配)。

  示例

  当执行上述代码时,会产生以下结果 :

  4.搜索和替换

  使用正则表达式re模块中的最重要的之一是sub。

  模块

  此方法使用repl替换所有出现在RE模式的字符串,替换所有出现,除非提供max。此方法返回修改的字符串。

  示例

  当执行上述代码时,会产生以下结果 :

  5.正则表达式修饰符:选项标志

  正则表达式文字可能包含一个可选修饰符,用于控制匹配的各个方面。 修饰符被指定为可选标志。可以使用异或(|)提供多个修饰符,如前所示,可以由以下之一表示 :

  6.正则表达模式

  除了控制字符(+ ? . * ^ $ ( ) [ ] { } | ),所有字符都与其自身匹配。 可以通过使用反斜杠将其转换为控制字符。

  7.正则表达式示例

  字符常量

  字符类

  特殊字符类

  重复匹配

  非贪婪重复

  这匹配最小的重复次数 :


用圆括号分组

  反向引用

  这与以前匹配的组再次匹配 :

  备择方案

  python|perl : 匹配“python”或“perl”

  rub(y|le) : 匹配 “ruby” 或 “ruble”

  Python(!+|?) : “Python”后跟一个或多个! 还是一个?

  锚点

  这需要指定匹配位置。

  带括号的特殊语法


开课吧广场-人才学习交流平台-开课吧



  • python3 姝e垯琛ㄨ揪寮濡備綍瀹炵幇涓枃妯$硦鍖归厤鏇挎崲骞惰緭鍑?
    绛旓細瑕佷娇鐢姝e垯琛ㄨ揪寮瀹炵幇涓枃妯$硦鍖归厤鏇挎崲骞惰緭鍑猴紝浣犲彲浠ヤ娇鐢 Python 鐨 re 妯″潡銆備互涓嬫槸涓涓ず渚嬩唬鐮侊紝璇诲彇涓涓悕涓 input.txt 鐨勬枃浠讹紝灏嗗叾涓殑 "绔规煇濠" 鎴 "绔瑰┑鏌" 鏇挎崲涓 "绔瑰┑濠"锛岀劧鍚庡皢缁撴灉淇濆瓨鍒颁竴涓悕涓 output.txt 鐨勬柊鏂囦欢涓細import re# 瀹氫箟涓涓嚱鏁版潵瀹炵幇鏇挎崲鎿嶄綔def replace_...
  • Python姝e垯琛ㄨ揪寮涔媟e.match()
    绛旓細鑰屽叾鏈川杩樻槸濡備綍鎼滅储绗﹀悎鏌愮锛堟浛鎹級妯″紡鐨勫璞°傚湪杩欎簺鍑犱箮澶╁ぉ閮藉彲浠ョ鍒扮殑 妯″紡鍖归厤/鎼滅储闂涓锛屾鍒欒〃杈惧紡灏辨槸涓鎶婅В鍐抽棶棰樼殑鍒╁墤锛 鍦Python鐨re妯″潡涓紝甯哥敤鐨勬湁鍥涗釜鏂规硶(match銆乻earch銆乫indall銆乫inditer)閮藉彲浠ョ敤浜庡尮閰嶅瓧绗︿覆锛屼粖澶╂垜浠厛鏉ヤ簡瑙d竴涓媟e.match()銆俽e.match()蹇呴』浠庡瓧绗︿覆寮澶...
  • Python姝e垯琛ㄨ揪寮鐨勫嚑绉嶅尮閰嶇敤娉
    绛旓細涓嬮潰鍒楀嚭锛 1.娴嬭瘯姝e垯琛ㄨ揪寮鏄惁鍖归厤瀛楃涓茬殑鍏ㄩ儴鎴栭儴鍒唕egex=ur"" #姝e垯琛ㄨ揪寮 if re.search(regex, subject): do_something()else: do_anotherthing() 2.娴嬭瘯姝e垯琛ㄨ揪寮忔槸鍚﹀尮閰嶆暣涓瓧绗︿覆 regex=ur"/Z" #姝e垯琛ㄨ揪寮忔湯灏句互/Z缁撴潫 if re.match(regex, subject): do_something()else: do_...
  • 鐢python姝e垯琛ㄨ揪寮鏇挎崲瀛楃涓查棶棰 鎴戠敤python鍐欎竴涓绠楀櫒,鎯崇敤姝e垯琛...
    绛旓細鎶妔in(45)涓殑瑙掑害鍊糰ngle鍖归厤鍑烘潵,鐒跺悗璁$畻鍑簊in(angle)鐨勫紇alue,鏈鍚庣敤姝e垯琛ㄨ揪寮 "sin\("+angle+"\)" 鏇挎崲鎴怱tring.valueOf(value) //value鐨勫瓧绗︿覆褰㈠紡 鎴戠粰浣犱竴涓畬鏁寸殑Java璇█鐨勪緥瀛,浣犵湅鐪嬪惂.import java.util.regex.Matcher;import java.util.regex.Pattern;public class AA { public ...
  • Python re姝e垯琛ㄨ揪寮妯″潡鍙婂叾鐢ㄦ硶
    绛旓細1.绗竴涓弬鏁版槸姝e垯琛ㄨ揪寮,杩欓噷涓"(\w+)\s",濡傛灉鍖归厤鎴愬姛,鍒欒繑鍥炰竴涓狹atch,鍚﹀垯杩斿洖涓涓狽one;2.绗簩涓弬鏁拌〃绀鸿鍖归厤鐨勫瓧绗︿覆;3.绗笁涓弬鏁版槸鏍囪嚧浣,鐢ㄤ簬鎺у埗姝e垯琛ㄨ揪寮忕殑鍖归厤鏂瑰紡,濡:鏄惁鍖哄垎澶у皬鍐,澶氳鍖归厤绛夌瓑銆 re.search鍑芥暟浼氬湪瀛楃涓插唴鏌ユ壘妯″紡鍖归厤,鍙埌鎵惧埌绗竴涓尮閰嶇劧鍚庤繑鍥,濡傛灉.....
  • python 姝e垯琛ㄨ揪寮濡備綍鎴彇瀛楃涓蹭腑闂寸殑鍐呭
    绛旓細绀轰緥浠g爜鍚姩ipython鍏堝鍏e妯″潡 杩欓噷鎴戠敤鍒颁簡findall鍏ㄥ眬鍖归厤锛屽垎涓轰袱閮ㄥ垎锛屽墠闈㈡槸姝e垯锛鍚庨潰鏄鍖归厤鐨勫瓧绗︿覆 寰楀埌涓涓厓绁 閫氳繃鍙橀噺a 灏辫兘鎵撳嵃鍑烘兂瑕佺殑瀛楃涓
  • 鍏充簬姝e垯琛ㄨ揪寮鍙婂湪python瀹炵幇鐨鍒濆鑰呴棶棰
    绛旓細濡傛灉浣犳槸瑕佸鐞嗙綉椤电殑璇,涓嶇敤璐瑰姏浣跨敤姝e垯琛ㄨ揪寮 PYTHON鏈変笓闂ㄥ鐞咹TML鍜孹ML鐨勫簱(铏界劧鐢ㄧ殑灏辨槸姝e垯琛ㄨ揪寮廟E妯″潡)鐢╯gmllib灏卞彲浠ュ鐞咹TML 濡傛灉鏄鎻愬彇杩炴帴鍦板潃鐨勮瘽,鐢╱rllister 渚 8.7. 浣跨敤 urllister.py >>> import urllib, urllister >>> usock = urllib.urlopen("http://diveintopython.org/"...
  • python姝e垯琛ㄨ揪寮闂,濡傚浘鎵绀,涓轰粈涔堝皯浜嗕竴涓猺缁撴灉浼氫笉鍚?
    绛旓細瀛楃涓插墠闈㈠姞涓 r 琛ㄧず鍘熺敓瀛楃涓诧紙rawstring锛姝e垯琛ㄨ揪寮涓娇鐢ㄢ淺鈥濅綔涓鸿浆涔夊瓧绗︼紝鍗冲鏋滄槸鈥淺n鈥濋偅涔堣〃绀烘崲琛岋紝濡傛灉r'\n'琛ㄧず涓涓弽鏂滄潬瀛楃锛屼竴涓瓧姣峮锛岃屼笉鏄〃绀烘崲琛屼簡銆python3.8.2
  • python 姝e垯鏄粈涔堟剰鎬
    绛旓細Python姝e垯灏辨槸 Python姝e垯琛ㄨ揪寮 鍙互杩欐牱鐞嗚В:姝e垯琛ㄨ揪寮忔槸涓涓壒娈婄殑瀛楃搴忓垪锛屽畠鑳藉府鍔╀綘鏂逛究鐨勬鏌ヤ竴涓瓧绗︿覆鏄惁涓庢煇绉嶆ā寮忓尮閰嶃傚氨鏄綘鎯冲湪瀛楃涓蹭腑瀵绘壘浣犳兂瑕佺殑瀛愬瓧绗︿覆.渚嬪 浣犳兂鍖归厤 "閿勭鏃ュ綋鍗,姹楁淮绂句笅鍦" 閲岀殑 "鏃ュ綋鍗" 鏃ュ綋鍗堝氨鏄綘鐨勬鍒欒〃杈惧紡褰㈠紡.python鐨剅e 妯″潡浣 Python 璇█...
  • 濡備綍鐢 Python 鍜姝e垯琛ㄨ揪寮鎶藉彇鏂囨湰缁撴瀯鍖栦俊鎭?
    绛旓細鐢熶骇瀹炶返閲岄潰,澶ч噺鐨勫璇濊鍒欏悗闈,骞朵笉鏄浣犲嶆劅绁炲娣卞ゥ鐨勭缁忕綉缁,鑰屾槸涓鍫嗘鍒欒〃杈惧紡銆 浣犲彲鑳戒細鎷呭績,杩欐牱楂樼鐨勫簲鐢ㄦ妧鏈,鑷繁鑳芥帉鎻″悧? 绛旀鏄: 褰撶劧! 姝e垯琛ㄨ揪寮,骞朵笉闅惧銆 灏ゅ叾鏄綋浣犳妸瀹冨拰 Python 缁撳悎鍒颁竴璧,閭g畝鐩村氨鏄晥鐜囩鍣ㄤ簡銆 鎴戜滑杩欏氨鏉ョ湅鐪,姝e垯琛ㄨ揪寮忔庝箞甯垜浠瘑鍒嚭鏍蜂緥鏂囨湰閲岄潰 鈥滀汉鍚嶁...
  • 扩展阅读:python正则表达式compile ... 正则表达式在线生成器 ... 学了python再学c++好学吗 ... 正则表达式python心得 ... 学python后到底能干什么 ... python写数学表达式 ... python表达式的规则 ... python正则表达式match ... python正则表达式简单入门 ...

    本站交流只代表网友个人观点,与本站立场无关
    欢迎反馈与建议,请联系电邮
    2024© 车视网