【问题标题】:Regular expression type definition正则表达式类型定义
【发布时间】:2018-12-05 15:03:05
【问题描述】:

如何使用正则表达式将字符串分解为标记并为所需标记调用函数。 例如:

Привет -> ru_word_func ()
SPACE -> space_func ()
world -> en_word_func ()
! -> pnct_func ()

【问题讨论】:

    标签: regex string python-3.x


    【解决方案1】:

    这样的?

    #!/usr/bin/python3
    # -*- coding: utf-8 -*-
    
    import re
    
    input = """
    Привет SPACE world !
    """
    
    d = {
        "Привет": "ru_word_func",
        "SPACE": "space_func",
        "world": "en_word_func",
        "!": "pnct_func"
    }
    
    def ru_word_func():
        print("ru_word_func")
    
    def space_func():
        print("space_func")
    
    def en_word_func():
        print("en_word_func")
    
    def pnct_func():
        print("pnct_func")
    
    
    g = re.findall(r"[^\s]+", input, re.MULTILINE)
    
    for i in g:
        if i in d:
    #       print(d[i])
            a = d[i]
            globals()[a]()
    

    输出:

    ru_word_func
    space_func
    en_word_func
    pnct_func
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-05-19
      • 2016-01-04
      • 2013-01-18
      • 2013-11-18
      • 1970-01-01
      • 2020-12-29
      相关资源
      最近更新 更多