提问者:小点点

如何将Python和记事本中的连字符单词与正则表达式和异常模式结合起来?


不知您是否可以帮助我优化([^\s\d])(\s)(替换:$1)正则表达式,以便它可以执行以下操作:

>

  • 仅当连字符后面的字母是小写字母时,它才应连接连字符单词。这意味着被分割单词的第二部分不能以大写字母、标点符号、括号、符号或数字开头。

    如果分词的第二部分是“és”(and)或“tér”(square),则不应将连字符词合并。每个单词后面都有一个空格。

    我想在记事本和Python中使用修改后的正则表达式。在使用Python的应用程序中,我只能有一行正则表达式(用逗号分隔),例如([^\s\d])(\s),\1

    示例-应用正则表达式后,以下文本应保持不变。

     Nyugat- Németország kormánya
     Text text text Kelet-
     Európa
     Text text text Valéria-
     tér sarok.
     érettségi után a Színház- és 
     Filmművészeti Főiskolára járt
     text text text elválaszt-
     (this is due to OCR errors)
     2001-ben
     8-10
     Szükséges-e
    

    应匹配内容的示例:原始OCR-ed报纸文本:

    Minden demokrata erőnek közö-
    sen kell fellépnie és „falat húznia" 
    a Jobbik elé - mondta Ke-
    rék-Bánczy Szabolcs, az MDF el-
    nökségi tagja keddi sajtótájékoz-
    tatóján. Kerék-Bárczy közölte: mi-
    közben politikai konszenzus ala-
    kult ki a magyar parlamenti pár-
    tok között a szlovák nyelvtör-
    vénnyel kapcsolatban, pozícióikat 
    súlyosan rombolja a Jobbik tevé-
    kenysége. Ezt azzal magyarázta, 
    hogy a Jobbik állandó hivatkozási 
    alapot biztosít a szlovákiai kor-
    mánypártoknak. hogy folyamato-
    san ujjal mutogathassanak Ma-
    gyarországra, mert itt is van egy 
    EP-képviselettel rendelkező cso-
    port, amely mások kirekesztésére 
    és az irredentizmusra építi politi-
    káját. Az MDF ezért kezdeménye-
    zi, hogy az EP-képviselők nyilvá-
    nítsák ki...
    

    应用正则表达式后:

    Minden demokrata erőnek közösen kell fellépnie és „falat húznia" 
    a Jobbik elé - mondta Kerék-Bánczy Szabolcs, az MDF elnökségi tagja 
    keddi sajtótájékoztatóján. Kerék-Bárczy közölte: miközben politikai 
    konszenzus alakult ki a magyar parlamenti pártok között a szlovák 
    nyelvtörvénnyel kapcsolatban, pozícióikat súlyosan rombolja a 
    Jobbik tevékenysége. Ezt azzal magyarázta, 
    hogy a Jobbik állandó hivatkozási 
    alapot biztosít a szlovákiai kormánypártoknak. hogy folyamatosan 
    ujjal mutogathassanak Magyarországra, mert itt is van egy
    EP-képviselettel rendelkező csoport, amely mások kirekesztésére 
    és az irredentizmusra építi politikáját. Az MDF ezért kezdeményezi, 
    hogy az EP-képviselők nyilvánítsák ki...
    

  • 共1个答案

    匿名用户

    你可以用

    ([^\W\d_])-\s+(?=(?!(?:és|tér)\b)[a-záéőúüűöóí])
    

    请参阅正则表达式演示。详情:

    • ([^\W\d_])-任意一个字母
    • --一个连字符
    • \s-一个或多个空格
    • (?=(?!(?:és|tér)\b)[a-záéőúüűöóí])-一个积极的展望,需要(立即到当前位置的右侧):
      • (?!(?:és|tér)\b)[a-záéőúüűöóí]-来自a-záéőúüűöóí集合的任何char,它不是éstérchar序列的起始字母紧接着单词边界位置。