Python正則表達(dá)式基礎(chǔ)

正則表達(dá)式作用

正則表達(dá)式是將復(fù)雜的字符串進(jìn)行信息過濾,找到我們想到的信息,同時(shí)計(jì)算機(jī)的高效率運(yùn)行能夠減輕我們的手工操作負(fù)擔(dān)提高準(zhǔn)確度。
正則表達(dá)式是一個(gè)特殊的字符序列,能幫助我們方便的檢查一個(gè)字符串是否與某種模式匹配。
Python自1.5版本起增加了re 模塊,提供 Perl 風(fēng)格的正則表達(dá)式模式。
re 模塊使 Python 語言擁有全部的正則表達(dá)式功能。

re.match

re.match 嘗試從字符串的起始位置匹配一個(gè)模式,如果不是起始位置匹配成功的話,match()就返回none。

匹配單個(gè)字符

字符 功能
. 匹配任意1個(gè)字符(除了\n)
[ ] 匹配[ ]中列舉的字符
\d 匹配數(shù)字,即0-9
\D 匹配非數(shù)字,即不是數(shù)字
\s 匹配空白,即 空格,tab鍵
\S 匹配非空白
\w 匹配單詞字符,即a-z、A-Z、0-9、_
\W 匹配非單詞字符

"."匹配任意字符(除/n)

# -*- coding: utf-8 -*-
# @Time    : 2019/10/4 13:32
# @Author  : 幣行者
# @Email   : xypip@qq.com
# @File    : test4.py

import re

ret = re.match(".", "x")
print(ret.group())

ret = re.match("xing..e", "xingzhe")
print(ret.group())

匹配[ ]中列舉的字符

ret = re.match("[hH]ello", "hello XingZhe")
print(ret.group())
ret = re.match("[hH]ello", "Hello XingZhe")
print(ret.group())

匹配數(shù)字

ret = re.match("行者有\(zhòng)d個(gè)比特幣", "行者有1個(gè)比特幣,富的一匹")
print(ret.group())

ret = re.match("行者有\(zhòng)d個(gè)比特幣", "行者有2個(gè)比特幣,富的一匹")
print(ret.group())

ret = re.match("行者有\(zhòng)d個(gè)比特幣", "行者有3個(gè)比特幣,富的一匹")
print(ret.group())

匹配空白

ret = re.match("hello\sworld", "hello world!")

匹配多個(gè)字符

字符 功能
* 匹配前一個(gè)字符出現(xiàn)0次或者無限次,即可有可無
+ 匹配前一個(gè)字符出現(xiàn)1次或者無限次,即至少有1次
? 匹配前一個(gè)字符出現(xiàn)1次或者0次,即要么有1次,要么沒有
{m} 匹配前一個(gè)字符出現(xiàn)m次
{m,n} 匹配前一個(gè)字符出現(xiàn)從m到n次
ret = re.match("[A-Z][a-z]*","Ab")
print(ret.group())

ret = re.match("[A-Z][a-z]*","Ab")
print(ret.group())

ret = re.match("[A-Z][a-z]*","AbcdEF")
print(ret.group())
import re

names = ["name1", "_name", "2_name", "__name__"]

for name in names:
    ret = re.match("[a-zA-Z_]+[\w]*",name)
    if ret:
        print("變量名 %s 符合要求" % ret.group())
    else:
        print("變量名 %s 非法" % name)
ret = re.match("[1-9]?[0-9]","7")
print(ret.group())

ret = re.match("[1-9]?\d","33")
print(ret.group())
ret = re.match("[a-zA-Z0-9_]{6}","1234abcd")
print(ret.group())

ret = re.match("[a-zA-Z0-9_]{8,20}","12345abcdefghij")
print(ret.group())
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請結(jié)合常識與多方信息審慎甄別。
平臺聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺,僅提供信息存儲服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容