您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

NLTK正则表达式令牌生成器在正则表达式中不能与小数点配合良好

NLTK正则表达式令牌生成器在正则表达式中不能与小数点配合良好

罪魁祸首是:

\w+([-']\w+)*

\w+将匹配数量和因为没有.出现,这将只匹配33.14。将选项稍微移动一点,使其\$?\d+(\.\d+)?%?在上述正则表达式部分之前(以便首先尝试在数字格式上进行匹配):

(?x)([A-Z]\.)+|\$?\d+(\.\d+)?%?|\w+([-']\w+)*|[+/\-@&*]

regex101演示

或以扩展形式:

pattern = r'''(?x)               # set flag to allow verbose regexps
              ([A-Z]\.)+         # abbreviations, e.g. U.S.A.
              | \$?\d+(\.\d+)?%? # numbers, incl. currency and percentages
              | \w+([-']\w+)*    # words w/ optional internal hyphens/apostrophe
              | [+/\-@&*]        # special characters with meanings
            '''
其他 2022/1/1 18:44:38 有580人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶