我正在制作一个程序,用电子方式将西班牙语中的动词与其不定式形式结合起来。对于那些不熟悉西班牙语的人来说,西班牙语不定式是动词的非共轭形式。以下是西班牙不定式的几个例子:
Hablar, 科默, Escribir, Acostarse, Comprometerse, Vestirse
西班牙语中的所有不定式结尾都以“ar”,“er”,“ir”,“ass”,“erse”或“irse”结尾。这些结局中的每一个都需要完全不同的一组结合,因此我需要将每一个结合起来并以不同的方式处理它们。
我想知道正则表达式可以执行以下操作:
查找以“ar。”结尾的不定形式
查找以“er。”结尾的不定形式。
查找以“ir。”结尾的不定形式。
查找以“ass。”结尾的不定形式。
查找以“erse”结尾的不定形式。
查找以“irse”结尾的不定形式。
答案 0 :(得分:4)
之前已经完成了。
[aei]r(?:se)?$
除了对于实际工作,你可能也想用非自反的附加代词做表格,比如decírmelo。
答案 1 :(得分:0)
您的不定式结尾列表是错误的。西班牙语不定式也可以以-ír结尾(例如reír)。与此匹配的(粗)正则表达式为[aeií]r$
。这假设您的文字已经是Unicode normalized to NFC。
以 -arse (等)结尾的不定式实际上只是常规动词,其中非个人反身代词 se 附加为clitic。你不需要在一个共轭程序中处理它们,因为在反身动词中没有特定的共轭(通常在词典中用 -se 写); clitics可以附加到任何动词。
另一个问题是,西班牙语不定式不保留足够的信息来共轭甚至常规动词!特别是,如果所写的词干以“u”或“i”结尾,则不知道它是否是发音/ u /(resp。/ i /)与/ w /(resp / j /)。例如,“copiar”和“confiar”都是常规动词,但是从不定式来看,你无法分辨正确的现在时态变形
因此,如果您使用不定式形式进行共轭,则 要求在词典中查找动词。 (如果你也在当前的指示或虚拟语气中有3sg或3pl形式,这通常就足够了。)