python入門學習 正規表示式

2021-08-19 03:34:50 字數 2511 閱讀 5911

參考文件

排列的定義:從n個不同元素中,任取m(m≤n,m與n均為自然數,下同)個元素按照一定的順序排成一列,叫做從n個不同元素中取出m個元素的乙個排列;從n個不同元素中取出m(m≤n)個元素的所有排列的個數,叫做從n個不同元素中取出m個元素的排列數,用符號 a(n,m)表示。

import itertools

mylists = list(itertools.permutations([1, 2, 3, 4], 3))

print(mylists)

print(len(mylists)) # 24

組合(combination),數學的重要概念之一。從n個不同元素中每次取出m個不同元素(0≤m≤n),不管其順序合成一組,稱為從n個元素中不重複地選取m個元素的乙個組合。

import itertools

mylist = list(itertools.combinations([1, 2, 3, 4], 3))

print(mylist)

排列組合

import itertools

# 排列組合,生成密碼的可能性

mylist = list(itertools.product([1, 2, 3, 4], repeat=4))

print(mylist)

re.compile(pattern, flags=0)

# 從頭匹配

re.match(pattern, string, flags=0)

re.fullmatch(pattern, string, flags=0)

# 全範圍查詢

re.search(pattern, string, flags=0)

re.split(pattern, string, maxsplit=0, flags=0)

# 遍歷匹配,可以獲取字串中所有匹配的字串,返回乙個列表。

re.findall(pattern, string, flags=0)

re.finditer(pattern, string, flags=0)

re.sub(pattern, repl, string, count, flags=0)

re.subn(pattern, repl, string, count=0, flags=0)

re.error(msg, pattern=none, pos=none)

regex.search(string [, pos[, endpos]])

flags 的值可以是:

re.i(ignorecase) 忽略大小寫,括號內是完整的寫法

re.m(multiline) 多行模式,改變^和$的行為

re.s(dotall) 點可以匹配任意字元,包括換行符

re.l(locale) 做本地化識別的匹配,不推薦使用

re.u(unicode) 使用\w \w \s \s \d \d使用取決於unicode定義的字元屬性。在python3中預設使用該flag

re.x(verbose) 冗長模式,該模式下pattern字串可以是多行的,忽略空白字元,並可以新增注釋

字元

匹配範圍

案例字串

普通字元

匹配自身

abcabc

.匹配任意

除換行符」\n」外的字元(在dotall模式中也能匹配換行符

a.c\

轉義字元,使後乙個字元改變原來的意思

a.c;a\c

a.c;a\c

*匹配前乙個字元0或多次

abc*

ab;abccc

+匹配前乙個字元1次或無限次

abc+

abc;abccc

?匹配乙個字元0次或1次

abc?

ab;abc

^匹配字串開頭。在多行模式中匹配每一行的開頭

^abc

abc$

匹配字串末尾,在多行模式中匹配每一行的末尾

abc$

abc|

或。匹配左右表示式任意乙個,從左到右匹配,如果|沒有包括在()中,則它的範圍是整個正規表示式

abcdef|abc|def

{} 匹配前乙個字元m次,匹配前乙個字元m至n次,若省略n,則匹配m至無限次

abcabc

字符集。對應的位置可以是字符集中任意字元。字符集中的字元可以逐個列出,也可以給出範圍,如[abc]或[a-c]。[^abc]表示取反,即非abc。所有特殊字元在字符集中都失去其原有的特殊含義。用\反斜槓轉義恢復特殊字元的特殊含義。

a[bcd]

eabeaceade

()被括起來的表示式將作為分組,從表示式左邊開始沒遇到乙個分組的左括號「(」,編號+1.分組表示式作為乙個整體,可以後接數量詞。表示式中的|僅在該組中有效。

(abc)

a(123|456)c abcabc a456c

這裡需要強調一下反斜槓\的作用:

入門 python正規表示式

我是菜鳥,只適合新手參考 啊哈,第一次寫部落格就要寫我剛接觸的東西,所以接下來的內容多為摘錄 抄襲 這篇博文主要是鞏固我的學習,時間緊迫,讓我們開始吧!小夥伴們,首先看什麼是正規表示式呢?少說廢話了 正規表示式是乙個特殊的字串行,它用來幫助我們高效地檢查乙個字串是否與某種模式匹配,re 模組使pyt...

正規表示式 正則入門

先從乙個例子開始正規表示式。書寫乙個匹配手機號的正規表示式,為了方便討論,假定手機號是1開頭,第二位只能是3 5 8中的其中乙個,總共11位的數字,形如13 匹配手機號的正規表示式為 1 358 d 下面介紹此正規表示式中的各個符號的含義。表示字串的開頭,後面緊接著1,表示匹配的字串要以 1 開頭。...

正規表示式入門

對於文字字元,有11個字元被保留作特殊用途。他們是 這些特殊字元也被稱作元字元 不可顯示字元 可以使用特殊字串行來代表某些不可顯示字元 代表tab 0x09 代表回車符 0x0d 代表換行符 0x0a 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...