Как найти прописные и строчные буквы с помощью regex -re.findall в Python - PullRequest
0 голосов
/ 02 мая 2018

У меня есть код, который ищет выражения и выделяет соответствующее слово.

Мне нужно найти совпадение независимо от того, в верхнем или нижнем регистре мне нужен поиск, чтобы игнорировать регистр.

код:

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

существующее слово Чарльз

система не найдет искомое слово, если я не напишу Чарльз .

Ответы [ 3 ]

0 голосов
/ 02 мая 2018

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 обеспечивает совпадение без учета регистра.

0 голосов
/ 02 мая 2018

Проблема была в thematch=re.sub(x,RepX,TextString), нужны также флаги параметров. так становится thematch=re.sub(x,RepX,TextString,flags= re.M|re.I)

0 голосов
/ 02 мая 2018
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']
...