參考文件
排列的定義:從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 字符集 字符集是由一對方括號 括起來的字元集合。使用字符集,你可以告訴正規表示式引擎僅僅匹配多個字...