python 2.7中阿拉伯语单词的正则表达式

问题描述 投票:0回答:1

我使用python 2.7,我想找到文本文件中单词的频率,我使用下面的表达式编写代码,但没有输出:

    import nltk
    import os
    import re
    import string
    path="C:\Python27\Lib"
    os.chdir(path)
    frequency = {}
    document_text = open('1.txt', 'r')
    text_string = document_text.read().lower()
    match_pattern = re.findall(r'^[\u0621-\u064A\u0660-\u0669 ]+$', 
    text_string)

    for word in match_pattern:
         count = frequency.get(word,0)
         frequency[word] = count + 1

    frequency_list = frequency.keys()

    for words in frequency_list:
         print words, frequency[words]
python regex frequency arabic word-frequency
1个回答
0
投票

这是因为你没有匹配所有的字符。如果你删除锚点,你会得到一个匹配。见演示。

https://regex101.com/r/uRdqZj/2

© www.soinside.com 2019 - 2024. All rights reserved.