# 匯入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 匹配任意乙個...