![](/img/trans.png)
[英]How to find repeated substring in a string using regular expressions in Python?
[英]How to use Regular-Expressions find repeated characters in string
我有任務
"將單個字符轉為 '(' ,將重復的字符轉為 ')'
例如“TAAreTheBest”變成“)))())()()()”
從上面變成')'的字符是T,A,E。
所以關鍵是我想使用 REGEX 找出重復的字符並將其替換為 ')'
這些是我之前嘗試過的代碼,但對我不起作用
(\w)\1*
([a-zA-Z])\1*
\w{2,}
我對python很陌生。 而且我想了解更多關於 REGEX 的信息,所以我認為這個任務可以使用 regex 來解決它。 所以請幫幫我。 謝謝你。
我希望它不應該從一個sub
節點完成
import re
string = 'baTAAreTheBestaaaaabbbbaaaaaaa'
#1 replace chars that occur more then twice
tmp = ''
while tmp != string:
tmp = string
string = re.sub(r'(\w)(((.*)\1){2,})', r')\2', tmp)
#2 replace consecutive pairs (dunno why this are not handled by 3rd replace)
string = re.sub(r'(\w)\1', r'))', string)
#3 replace separate pairs
string = re.sub(r'(\w)(.*)\1', r')\2)', string)
#3 replace unique chars
string = re.sub(r'\w', '(', string)
print(string)
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.