我想添加一個更有效的發誓過濾器到我們有的聊天服務,似乎無法讓我的正則表達式工作在我的活Django服務器。Django/Python使用正則表達式獲取「error_message」:「多個重複」
我正在Python 2.6.7上運行最新的穩定Django。
這裏是我的代碼:
def replacement(match):
return "*" * len(match.group(0))
def censored_string(cFilter, dirty):
clean = str(dirty)
wordList = cFilter.mutations.split(',')
wordList.sort(key = len)
wordList.reverse()
for swear_word in wordList:
target_word = swear_word.strip()
result = re.sub("(?i)\\b(("+target_word+"){1,})(s{0,1})\\b",replacement, clean)
clean = result
return clean
備案 - 這個工程使用我的本地服務器設置,我可以證實,也使用python 2.6.7和相同的Django的版本,但我沒有做太多django或python,大約10個月前,最近繼承了這個服務器設置 - 如果有什麼我不見了,請告訴我。
錯誤的輸出如下:
{
"error_message": "multiple repeat",
"traceback": ... "result = re.sub(\"(?i)\\\\b(\"+target_word+\"){1,}(s{0,1})\\\\b\",censored_word(target_word), clean)\n\n File \"/usr/lib/python2.6/re.py\", line 151, in sub\n return _compile(pattern, 0).sub(repl, string, count)\n\n File \"/usr/lib/python2.6/re.py\", line 245, in _compile\n raise error, v # invalid expression\n\nerror: multiple repeat\n"
}
我曾嘗試與不貪婪的等等,但現在我失去了 - 任何輸入將不勝感激
歡呼聲,
邁克爾
輝煌 - 我剛剛嘗試了一個硬編碼列表,它工作。非常感謝你:) –
難道這不是真的是'上帝****我愛香蕉和**** ing ******** *****'? –
你可能會有這種看法,但這不是正則表達式所說的。 OP可以發佈另一個問題的幫助;) – beerbajay