0
嗨我試圖用一個正則表達式來替換標點符號和其他符號,如果標點符號重複,例如,例如。 「!!!」 =>)如何用Python中的REGEX在兩種不同的條件下用兩種不同的<remarks>代替相同的符號
用於輸入 「!」:
....
??
>>>>>
^
%
如果我申請了下面的正則表達式,則:
text = re.sub(r'([@+*&%$#\\|_=`~>.,?!"</)({}-]){2,}', r'\1 <REPEAT>', text) # Mark punctuation repetitions (eg. "!!!" => "! <REPEAT>")
text = re.sub(r'([@+*&%$#;:\^\]\[\\|_=`~>.,?!"</)({}-])', r'\1 <PUNC>', text) # Mark punctuation as <PUNC>
我得到的輸出,如:
['. <punc> < <punc>repeat> <punc>', '! <punc> < <punc>repeat> <punc>', '? <punc> < <punc>repeat> <punc>', '> <punc> < <punc>repeat> <punc>', '^ <punc>', '% <punc>']
它應該是:
['. <repeat> ', '! <repeat> ', '? <repeat> ', '> <repeat>', '^ <punc>', '% <punc>']
任何人都可以讓我知道解決方案嗎? 在此先感謝。
同時包括在正則表達式是這些符號' <>'。在第一個正則表達式中替換「」後,第二個將其替換爲「< 」重複'。解決方案:將這些'<>'從第二個正則表達式中取出?或者,你可以使用後視圖(<?[= + @ &%$#;:\^\] \ [\\ | _ = \'〜>,?!「)({} - ])'和替換爲'' –
sln