我是 regex 的新手,我正在嘗試撰寫一個(Python 風格),它允許我在每個標點符號或空格處進行拆分,除了單個連字符(例如9-5,Mon-Fri不會被拆分)。但是,我想要處理的文本有時包含一系列連字符,例如-------------用于分隔段落或檔案中主題不同的部分。因此,我想要一個解決方案,該解決方案在除連字符之外的每個標點符號的一個或多個出現處進行拆分,并在 2 個或多個連字符的組合上進行拆分。
我曾嘗試使用以下代碼:
re.split(r"[-{2,}\.,:\s]", mystring)
但該-{2,}部分按字面解釋。我也嘗試將它合并到一個組中,但同樣,括號是按字面解釋的。我知道我可以撰寫第一個正則運算式來用空字符替換多個連字符,第二個正則運算式查看所有其他空格和標點符號;但是,我想知道是否有辦法一步完成。
uj5u.com熱心網友回復:
字符類 [...] 中的大多數內容都是文字,除了某些背景關系中的連字符和反斜杠(以及/某些正則運算式...)。所以[-{2,}\.,:\s]是匹配所有文字字符除外\s。此處參考了其他字符類運算子,例如^但大多數正則運算式元字符不再在字符類中作業。
我想你可能正在尋找改變:
[,.\/]|-{2,}
^ add whatever punctuation you want to split on
(在Python,而無需打開一個正則運算式的概念,你可以使用/一個字符類中沒有逃脫它:[,./]|-{2,})
演示
轉載請註明出處,本文鏈接:https://www.uj5u.com/yidong/361853.html
