Python 高階 正規表示式1

2021-09-27 09:34:59 字數 1406 閱讀 1969

# 匯入re模組

import re

# 使用match方法進行匹配操作

result = re.match(正規表示式, 要匹配的字串)

# 如果上一步匹配到資料的話,可以使用group方法來提取資料(滿足規範要求的資料)

result.group()

1.檢視乙個字串是否符合python變數規範:

import re

# 判斷變數名是否符合要求

def main():

names = ['name1', '_name', '$name', '1name', 'name_', '_name1', 'n_d_', 'name!', '_@', '_']

for name in names:

# if re.match(r"[a-za-z_][a-za-z0-9_]*", name):

# if re.match(r"[a-za-z_][a-za-z0-9_]*$", name): # 當正規表示式判斷完時,正好是字串結尾;言外之意:在python中match預設匹配開頭

if re.match(r"^[a-za-z_][a-za-z0-9_]*$", name): # 完整的寫法

print("%s is correct!"%name)

else:

print("%s is not right!"%name)

if __name__ == "__main__":

main()

2.匹配出163的郵箱位址,且@符合之前有4到20位,例如[email protected]

# 匹配出163的郵箱位址,且@符合之前有4到20位,例如[email protected]

import re

def main(mail_addr):

# ret = re.match(r".@163[.]com$", mail_addr) # 這種寫法不對:hello@@163.com 也被判斷為對的。

# 如果在正規表示式中需要用到某些普通的字元,如:. 如: ? 等,僅僅需要在它們前面新增\

# ret = re.match(r".\@163\.com$", mail_addr) # 為什麼錯,因為「.」 匹配所有字元,所以兩個@@也對了。

# 教程中的寫法

ret = re.match(r"[a-za-z0-9]@163\.com$", mail_addr)

if ret:

print("%s符合要求的郵箱位址。"%mail_addr)

else:

print("%s不符合要求的郵箱位址。"%mail_addr)

if __name__ == "__main__":

main(mail_addr)

JavaScript高階 正規表示式

前言 這篇部落格是我對正規表示式一些基礎知識的整理。基礎部分 1.1 什麼是正規表示式 是一種特殊的字串模式 作用是匹配字串 如同用模具做產品,正規表示式就是模具,具體的字串就是產品 定義一種規則去匹配復合規則的字串 1.2 元字元介紹 會匹配行或者字串的開頭,有時會匹配整個文件的起始位置 匹配字串...

shell高階 正規表示式

正規表示式是一種定義的規則,linux工具可以用它來過濾文字。純文字 root node1 echo this is a cat sed n cat p this is a cat root node1 echo this is a cat gawk cat this is a cat 正規表示式的...

JS基礎高階 正規表示式

1 regexpbuddy 正規表示式中有些字元有特殊的語法含義,是不能直接使用的,必須使用 進行轉義後才能使用。正規表示式使用如下語法匹配乙個範圍內的字元 語法 含義 示例 abc 匹配集合內的任意字元 ac abc 匹配不在字符集內的任意字元 ac 0 9 匹配任意乙個數字 a z 匹配任意乙個...