我有設計在Django中的頁面,它有自己的搜索引擎。我需要幫助的是構造正則表達式,它只會過濾僅包含波蘭語字母(大寫和小寫)和符號*和? ,任何人都可以提供幫助嗎?用於搜索查詢的正則表達式
編輯: 我想類似的東西:
query_re = re.compile(r'^\w*[\*\?]*$', re.UNICODE)
if not query_re.match(self.cleaned_data['query']):
raise forms.ValidationError(_('Illegal character'))
,但它也允許從不同的字母一些無效字符,並且不會允許* somest荷蘭國際集團*查詢?
如何呈現你的做法嗎?或者你嘗試過什麼的一些代碼片段?這將有所幫助... – 2010-01-05 19:21:26
將\ w放在[]內,並使用re.LOCALE而不是re.UNICODE。然後你在我的答案中給出了基本相同的正則表達式。 – 2010-01-05 19:36:59
當我使用re.LOCALE波蘭字母是無效的,但是當我使用re.UNICODE他們是有效的,但來自其他字母的字母也是有效的以及括號'[]',可能更多。 – Lhiash 2010-01-05 19:49:11