正则表达式:删除所有希腊大写字母的句子

REGEX: Remove sentences with all greek capital letters

我只想删除带有希腊大写字母的句子,这里有一些例子

input1 = 'Καλημέρα κόσμε' 
output = 'Καλημέρα κόσμε'
input2 = 'ΚΑΝΕΙ ΠΟΛΥ ΖΕΣΤΗ. Καθε ΣΚ.' 
Output2 = 'Καθε ΣΚ.'
input3 = 'Ο ΑΛΕΞΑΝΔΡος σπουδαζει στατιστικη' 
Output3 = 'Ο ΑΛΕΞΑΝΔΡος σπουδαζει στατιστικη' 

我检查了上一个问题,

def remove_sent_capital(input):

  greek_capital_chars = set(chr(cp) for cp in range(0x0370, 0x1FFF) if "GREEK CAPITAL" in unicodedata.name(chr(cp), "")) 
  chars_class = re.escape("".join(greek_capital_chars.union(string.ascii_uppercase)))
  input = re.sub('\b[{chars_class}\s]+(?:\s+[{chars_class}\s]+)*\b', '', input)
  
  return input

编辑:也许这有帮助

据我了解,您想删除所有字母均为希腊大写字母的句子。将句子定义为以“.”结尾的字母序列您可以执行以下操作:

def remove_sent_capital(x):
    greek_capital_chars = set(chr(cp) for cp in range(0x0370, 0x1FFF) if "GREEK CAPITAL" in unicodedata.name(chr(cp), "")) 
    s = x.split('.')
    s = [i for i in s if not all([k in greek_capital_chars for k in i if k!=' '])]
    return '.'.join(s)

示例:

>>> remove_sent_capital('Καλημέρα κόσμε')
#'Καλημέρα κόσμε'
>>>remove_sent_capital('ΚΑΝΕΙ ΠΟΛΥ ΖΕΣΤΗ. Καθε ΣΚ.')
#' Καθε ΣΚ'
>>> remove_sent_capital('Ο ΑΛΕΞΑΝΔΡος σπουδαζει στατιστικη')
#'Ο ΑΛΕΞΑΝΔΡος σπουδαζει στατιστικη'

ελπίζω να βοήθησα :)