【问题标题】:how to find uppercase and smallCase using regex -re.findall in python如何在python中使用正则表达式-re.findall查找大写和小写
【发布时间】:2018-10-12 09:07:37
【问题描述】:

我有一个搜索表达式并突出显示匹配单词的代码。

无论是大写还是小写,我都需要找到匹配项,我需要搜索以忽略区分大小写。

代码:

RepX='<u><b style="color:#FF0000">'+x+'</b></u>'


    for counter , myLine in enumerate(filename):

        #added
        self.textEdit_PDFpreview.clear()
        thematch=re.sub(x,RepX,TextString)
        thematchFilt=re.findall(x,TextString,re.M|re.IGNORECASE)

例如搜索词:charles

现有单词是Charles

除非我写了Charles,否则系统将找不到搜索的单词。

【问题讨论】:

    标签: python regex findall ignore-case


    【解决方案1】:
    import re
    
    
    text = "234422424"
    text2 = "My text"
    
    
    print( re.findall( r'^[A-Öa-ö\s]+', text)) # []
    print( re.findall( r'^[A-Öa-ö\s]+', text2)) # ['My text']
    

    【讨论】:

      【解决方案2】:

      re.findall 接受参数为re.findall(pattern, string, flags=0)。

      import re
      s = 'the existing word is Charles'
      print(re.findall(r'charles', s, re.IGNORECASE))
      # ['Charles']
      

      re.IGNORECASE 确保不区分大小写的匹配。

      【讨论】:

      • 我试过 re.IGNORECASE 但没有找到请求的单词
      • 没有错误,但系统必须突出显示匹配的单词,所以如果我将 charles 更改为 Charles,它将突出显示,否则不会突出显示任何单词
      • 您能解释一下您在findall 中使用的每个参数吗?每个都包含什么?
      • (x,TextString,re.M|re.IGNORECASE).... x = 用户输入 TextString = 文件中的匹配词或字符串。
      • 所以x 是一些字符串,TextString 现在是“charles”,对吧?
      【解决方案3】:

      问题出在thematch=re.sub(x,RepX,TextString) 中,它还需要参数标志。 所以它变成thematch=re.sub(x,RepX,TextString,flags= re.M|re.I)

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2023-03-12
        • 2023-03-03
        • 2011-02-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多