Python的re模組中split函式

2021-10-02 10:43:51 字數 993 閱讀 7684

首先引入re模組

import re
然後使用re模組中的split函式

import re

a = "你在北京 我,你是誰?在幹嘛."

sentences = re.split(r"[.。!!??;;,,\s+]", a)

"[ ]"中的字元是分隔符,之後形成的list之中不會留有分隔符。

print(sentences)
輸出的結果將會如下:

結果:

['你在北京', '我', '你是誰', '在幹嘛', '']

若要在輸出的list中保留分隔符,因該用「([ ])"。

import re

a = "你在北京 我,你是誰?在幹嘛."

sentences = re.split(r"([.。!!??;;,,\s+])", a)

print(sentences)

結果:

結果

['你在北京', ' ', '我', ',', '你是誰', '?', '在幹嘛', '.', '']

如果要把分隔符放在分隔出來的字串後面,可以先將其分隔成上述形式,然後再利用join函式和zip函式進行成對的字串連線。

import re

a = "你在北京 我,你是誰?在幹嘛."

sentences = re.split(r"([.。!!??;;,,\s+])", a)

sentences = ["".join(i) for i in zip(sentences[0::2],sentences[1::2])]

print(sentences)

結果:

['你在北京 ', '我,', '你是誰?', '在幹嘛.']

reference:

python 中的re 模組

正規表示式中特殊的符號 表任意字元 表string起始 表string 結束 跟在字元後面表示,0個 多個,1個 多個,0個或者1個 符合條件的情況下,匹配的盡可能少 限制 匹配的貪婪性 匹配此前的字元,重複m次 m到n次,m,n可以省略 舉個例子 a.b 表示a開始,b結束的任意字串 a 匹配連續...

Python中的Re模組

1.首先,re模組是python自帶的模組,使用import re就可以使用了 2.基礎語法我就不說了。主要進行總結 match,search都是只匹配一次的。匹配到就返回match物件了。後面是否有可以匹配到的是不管的,如果match開頭沒有匹配到,返回none,search在整個字串中麼有匹配到...

python中re模組的使用

res re.match pattern,string,flags 0 字串的開頭是否能匹配正規表示式。返回 sre.sre match物件,如果 不能匹配返回none。如果匹配的話,res.string可以獲得原始的字串,並不是匹配的字串 re.sub pattern,repl,string,co...