我有一份表格的文字:
können{konnte,gekonnt}动词
我希望得到一个不在括号中的所有单词的匹配。这意味着:
können=第一场比赛,动词=第二场比赛
不幸的是,我仍然没有得到正则表达式的敲门声。除非你想读一本书,否则有很多测试可能性但对创作没什么帮助。
我将在Java或Python中使用它们。
答案 0 :(得分:1)
在Python中你可以这样做:
import re
regex = re.compile(r'(?:\{.*?\})?([^{}]+)', re.UNICODE)
print 'Matches: %r' % regex.findall(u'können {konnte, gekonnt} Verb')
结果:
Matches: [u'können ', u' Verb']
虽然我建议只更换{
和}
之间的所有内容,如下所示:
import re
regex = re.compile(r'\{.*?\}', re.UNICODE)
print 'Output string: %r' % regex.sub('', u'können {konnte, gekonnt} Verb')
结果:
Output string: u'können Verb'
答案 1 :(得分:1)
使用此模式的正则表达式SPLIT将完成这项工作:
(\s+|\s*{[^}]*\}\s*)
并忽略任何空值。