我需要找到索引,其中字母爲a-z的小寫字母出現在字符串中。但是,該字符串中可能包含一堆非字母字符。Python正則表達式搜索中間有非字母字符的Word
例如,單詞「dont」跨越詞組「不這樣做」中的索引[0,5]。
我四處尋找各種方法來匹配非字母字符,並用以下的正則表達式來實現這一點:
>>> import re
>>> pattern = re.compile("d[^a-z]*o[^a-z]*n[^a-z]*t[^a-z]*")
>>> test = "don't"
>>> pattern.search(test).start()
0
>>> pattern.search(test).end()
5
>>> test = "d'o&&&&&n't"
>>> pattern.search(test).start()
0
>>> pattern.search(test).end()
11
>>>
有沒有表達這個正則表達式更簡潔的方式?或者我是否必須編寫代碼在每個我想要搜索的單詞的每個字符之間插入[^ a-z] *?
對不起,如果這個問題已經存在 - 我不知道如何說這個問題。謝謝您的幫助。
你真的想在這裏實現什麼?這不是更多的'nltk'問題嗎? – Jan