如何将Python和Notepad++中的连字符单词与带有异常模式的regex结合起来



我想知道你是否可以帮助我完善([^\s\d]((-\s+((替换:$1(regex,以便它可以执行以下操作:

  1. 如果连字符后面的字母是小写字母,则只应连接连字符单词。这意味着分割单词的第二部分不能以大写字母、标点符号、括号、符号或数字开头。

  2. 它不应该在分割词的第二部分是"或"的情况下将连字符的词联合起来;és";(和(或";tér";(正方形(。每个单词后面都有一个空格。

我想在Notepad++和Python中都使用修改后的regex。在使用Python的应用程序中,我只能有一行regex(用逗号分隔(,如([^\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打印的报纸文本:

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...

您可以使用

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

请参阅regex演示详细信息

  • ([^Wd_])-任意一个字母
  • --连字符
  • s+-一个或多个空白
  • (?=(?!(?:és|tér)b)[a-záéőúüűöóí])-一个积极的前瞻性,需要(立即在当前位置的右侧(:
    • (?!(?:és|tér)b)[a-záéőúüűöóí]-a-záéőúüűöóí集合中的任何字符,该字符不是紧跟单词边界位置的éstér字符序列的起始字母

最新更新