最佳
我想有一个reg表达式来转换下一个句子
heb/MD/B-VP/O/hebben ik/PRP/B-NP/O/ik zitten/MD/B-VP/O/zitten slapen/VB/I-VP/O/slapen ?/./O/O/?
of/CC/O/O/of heb/MD/B-VP/O/hebben ik/PRP/B-NP/O/ik het/PRP/I-NP/O/het samenwonen/NN/I-NP/O/samenwonen zo/RB/B-ADJP/O/zo lang/JJ/I-ADJP/O/lang uitgesteld/VBN/B-VP/O/uitstellen omdat/CC/O/O/omdat ik/PRP/B-NP/O/ik het/PRP/I-NP/O/het onbewust/JJ/B-ADJP/O/onbewust niet/RB/B-ADVP/O/niet wil/MD/B-VP/O/willen ?/./O/O/?
ben/MD/B-VP/O/zijn ik/PRP/B-NP/O/ik wel/RB/B-VP/O/wel gaan/MD/I-VP/O/gaan houden/VB/I-VP/O/houden van/IN/B-PP/O/van haar/MD/B-VP/O/haren ,/,/O/O/, maar/CC/O/O/maar niet/RB/B-ADVP/O/niet van/IN/B-PP/B-PNP/van haar/PRP$/B-NP/I-PNP/haar -/./O/O/- echte/JJ/B-ADJP/O/echt -/./O/O/- leven/NN/B-NP/O/leven ?/./O/O/?
http:&slash;&slash;www.google.be&slash;test/NNP/B-NP/O/http://www.google.be/test
进入,这个理想的结果:
hebben ik zitten slapen ? of hebben ik het samenwonen zo lang uitstellen omdat ik het onbewust niet willen ? zijn ik wel gaan houden van haren , maar niet/ van haar - echt - leven ? http://www.google.be/test
因此,我想选择“每个单词”(例如 heb / MD / B-VP / O / hebben ) - > ([^ \ s] +)并将所有字符( a-z&é“'(§234567etc”)直到第4个斜杠( heb / MD / B-VP / O / )。
以这种方式我可以用“”
替换那些匹配亲切的问候
答案 0 :(得分:1)
我使用([^\/]+\/){4}
查找至少一个非\
的4个片段,后跟\
。然后在用空格分割输入后,用空字符串为每个单词重新命名该模式。
import re
input_str='heb/MD/B-VP/O/hebben ik/PRP/B-NP/O/ik zitten/MD/B-VP/O/zitten slapen/VB/I-VP/O/slapen ?/./O/O/? of/CC/O/O/of heb/MD/B-VP/O/hebben ik/PRP/B-NP/O/ik het/PRP/I-NP/O/het samenwonen/NN/I-NP/O/samenwonen zo/RB/B-ADJP/O/zo lang/JJ/I-ADJP/O/lang uitgesteld/VBN/B-VP/O/uitstellen omdat/CC/O/O/omdat ik/PRP/B-NP/O/ik het/PRP/I-NP/O/het onbewust/JJ/B-ADJP/O/onbewust niet/RB/B-ADVP/O/niet wil/MD/B-VP/O/willen ?/./O/O/? ben/MD/B-VP/O/zijn ik/PRP/B-NP/O/ik wel/RB/B-VP/O/wel gaan/MD/I-VP/O/gaan houden/VB/I-VP/O/houden van/IN/B-PP/O/van haar/MD/B-VP/O/haren ,/,/O/O/, maar/CC/O/O/maar niet/RB/B-ADVP/O/niet van/IN/B-PP/B-PNP/van haar/PRP$/B-NP/I-PNP/haar -/./O/O/- echte/JJ/B-ADJP/O/echt -/./O/O/- leven/NN/B-NP/O/leven ?/./O/O/? http:&slash;&slash;www.google.be&slash;test/NNP/B-NP/O/http://www.google.be/test'
regex=re.compile(r'([^\/]+\/){4}')
s=[]
for word in input_str.split():
s.append(regex.sub('',word))
print(' '.join(s))