首先引入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...