簡體   English   中英

如何列出以特定字符開頭和結尾的所有Unicode字符串?

[英]How to list all Unicode strings starting and ending with a particular character?

我試圖列出所有具有特定結尾和開始的單詞。 這是ണ്我的結局性格和വി是我的起始字符。

這是我的意見

പാമോലിന്‍ കേസിന്റെ വിചാരണ നടപടികള്‍ ഹൈക്കോടതി രണ്ടുമാസത്തേക്ക് സ്‌റ്റേചെയ്തു. കേസ് പിന്‍വലിക്കണമെന്ന ആവശ്യം നിരസിച്ച തൃശ്ശൂര്‍ വിജിലന്‍സ് കോടതി ഉത്തരവിനെതിരെ വിജിലന്‍സ് സമര്‍പ്പിച്ച ഹര്‍ജിയിലാണ് ഇടക്കാല ഉത്തരവ്.

預期的輸出是

വിചാരണ

如何為它寫正則表達式?

re.findall(ur'\bവി\w+ണ\b', inputtext, flags=re.UNICODE) won´t work

我仍然不明白為什么它不能像英語一樣工作,請將此事實添加到答案中,以便我可以更好地理解問題

您輸入的文本充滿了單詞和非單詞字符,因此確定單詞邊界的唯一方法是在空格的后面和后面:

re.findall(ur'(?<![^ ])വി[^ ]+ണ്?(?![^ ])', inputtext, flags=re.UNICODE)

其中inputtext是Unicode值。 (?<!...)(?!...)是負向后看和超前斷言; 文本中以空格字符開頭或后跟的匹配位置。

在您的邊界文本內,我們也匹配非空格。

這符合您的預期輸入:

>>> print re.findall(ur'(?<![^ ])വി[^ ]+ണ്?(?![^ ])', inputtext, flags=re.UNICODE)[0]
വിചാരണ

...或者,如果您想要更多口頭表達

original_list = ('abc', 'ccbd', 'abbc')
filtered = tuple(filter(lambda x: x.startswith('a') and x.endswith('c'), original_list))
filtered
('abc', 'abbc')

但它絕對不能回答您的問題。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM