使用Python正则表达式查找所有重音单词/字符?
我看到过很多不同的处理重音字符的帖子,但是没有一篇专门在文本语料库中找到重音字符。我试图识别文本中的单词,如使用Python正则表达式查找所有重音单词/字符?,python,regex,Python,Regex,我看到过很多不同的处理重音字符的帖子,但是没有一篇专门在文本语料库中找到重音字符。我试图识别文本中的单词,如nǚ,但代码不应包括非拉丁字母结果。前任:女 不应选择。我用于测试的字符串是: "nǚ – woman; girl; daughter; female. A pictogram of a woman with her arms stretched. In old versions she was seated on her knees. It is a radical that form
nǚ
,但代码不应包括非拉丁字母结果。前任:女 不应选择。我用于测试的字符串是:
"nǚ – woman; girl; daughter; female. A pictogram of a woman with her arms stretched. In old versions she was seated on her knees. It is a radical that forms part tón of characters related to women and their qualities. 女儿 nǚ'ér – daughter (woman + child) ǚa"
工作正则表达式应选择:
- nǚ
- nǚ’r
- ǚa
- 托恩
有一个类似的问题,但问题不同。此人在使用带有重音的正则表达式时遇到问题。要匹配重音字母,您可以使用
[\u00C0-\u017F]
[À-Ö-Ø-ÿ]
不包括在中,但您可以将unicode范围扩展到其值:ǚ
[\u00C0-\u01DA]
不是重音,您必须手动添加它“
给出最终的
\w*[\u00C0-\u01DA']\w*
和西里尔语、阿拉伯语等通用解决方案
[x for x in re.findall(r"\b[^\W\d_]+(?:['’][^\W\d_]+)*\b", s)
if re.search(r'[A-Za-z]',x) and re.search(r'(?![a-zA-Z])[^\W\d_]',x)]
-查找可能包含撇号的所有单词re.findall(r“\b[^\W\d]+(?:[''][^\W\d]+)*\b”
-确保有来自ASCII范围的字母如果重新搜索(r'[A-Za-z]',x)
-另外,确保有一个字母超出ASCII范围re.search(r'(?![a-zA-Z])[^\W\d\uz]',x)