Regex,查找所有均为大写字母的句子

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

我需要你的帮助。

当前,我正在使用此代码段进行工作;

    altbaslik = []
    for line in sentenceIndex:
        finded = re.match(r"\w*[A-Z]\w*[A-Z]\w*|[Ö|Ç|Ş|Ü|Ğ|İ]", line)
        if finded != None:
          finded2 = finded.group()
          altbaslik.append(finded2)


    print(altbaslik)

sentenceIndex =这是一个列表。它包含段落中带标记的句子。例如:


示例段落:

VODOFONE ARENAŞANSIAmaasılönemliolan nokta MuratÇetinkaya,CumhurbaşkanıErdoğanveBaşbakanDavutoğlu’nunittifakıylaseçildi。 Osüreciayrıntılıolarakaktaracağım。哈达(HattaCumhurbaşkanı)和巴什卡坎(Babasbakan)的对不起,因为我不喜欢他。 Ama birşeyvar ki aktarmasam olmaz。 MerkezBankasıBaşkanı’nın kaderiDolmabahçeile Vodafone Arenaarasındakiyolculukta belirleniyor。



sentenceIndex:

['VODOFONE ARENAŞANSIAmaasılönemliolan nokta MuratÇetinkaya,CumhurbaşkanıErdoğanveBaşbakanDavutoğlu'nunittifakıylaseçildi。','...................',' .................']


我需要一个正则表达式,它可以找到句子中所有大写字母的单词。

“ VODOFONE ARENAŞANSI”,我需要找到并提取此部分。我正在使用的当前正则表达式无法正常工作。我需要有关正则表达式的东西的帮助。

注意:[Ö|Ç|Ş|Ü|Ğ|İ]我正在研究土耳其文字。这就是为什么我也需要注意这封信的原因。

感谢那些会花时间为我提供帮助的人:)

python regex nltk text-extraction stringtokenizer
1个回答
0
投票

您可以将re.findall与]一起使用>

r'\b[A-ZÖÇŞÜĞİ]+(?:\W+[A-ZÖÇŞÜĞİ]+)*\b'

请参见regex demo

请参见Python demo

import re

altbaslik=[]
sentenceIndex = ['VODOFONE ARENA ŞANSI Ama asıl önemli olan nokta Murat Çetinkaya, Cumhurbaşkanı Erdoğan ve Başbakan Davutoğlu’nun ittifakıyla seçildi.','...................','.................']
for line in sentenceIndex:
    found = re.findall(r"\b[A-ZÖÇŞÜĞİ]+(?:\W+[A-ZÖÇŞÜĞİ]+)*\b", line)
    if len(found):
        altbaslik.extend(found)

print(altbaslik)
© www.soinside.com 2019 - 2024. All rights reserved.