是否可以使用正则表达式翻译特定术语

时间:2014-07-21 21:23:25

标签: regex

我正在使用以下软件:

http://www.tntranslations.com/TermInjectorHelp.html#regexexample

是否可以使用正则表达式和带有“if语句”功能的程序?

即。如果\ 1 =红色然后显示ROUGE,如果\ 1 =蓝色然后显示蓝色?

(rouge | bleu | jaune)\ 1(它会显示相应的翻译:红色|蓝色|黄色)红色|蓝色|黄色

我的猜测是不可能的,但我想我会问。谢谢!

目前我可以做以下事情:

la voiture rouge =红色汽车(保存在数据库中)

(rouge | bleu)\ 1 red | blue

la voiture bleu =蓝色汽车(建议使用正则表达式程序)

我想将“bleu”改为“blue”

1 个答案:

答案 0 :(得分:0)

通常,这种任务是在编程语言中,在替换函数中完成的,使用所谓的lambda或委托或匿名函数来执行条件替换。

直接正则表达式替换不能注入文本中尚未提供的文本。因此,在非编程环境中通常是不可能的,例如支持正则表达式的文本编辑器(例如Notepad ++,EditPadPro),以及可能在TermInjector之类的工具中(尽管我不知道它的规格)。

注入不存在的文本:Regex Hack

为了完成,我将提到我有时使用的正则表达式黑客,它允许您使用文本编辑器注入翻译。为此,您必须在文件的最底部粘贴一个小“字典”:类似

##DIC##:bleu=blue:rouge=red:vert=green:jaune=yellow:brun=brown

然后可以创建一个正则表达式来查找字典值,该值用于替换。为了实现这一点,引擎必须支持外观,而工具可能不是这样。