0

我正在尝试为 MemoQ(一种翻译软件)中的某些文本创建一个正则表达式替换模式,但\L最终\l写在替换的文本中。

我基本上是在尝试替换“如果要这样做,请按 1”之类的结构。到“如果你想这样做,请按 1”。

我想出的西班牙语文本的正则表达式是:

(Oprima|Presione|Pulse)\s*(el)*\s*([0-9])\s((.)*?)\.  

我正在使用的替代品是:

$4, $1 $3.

例如,对于“Oprima 1 si quiere hacer su pago por teléfono”。我得到“si quiere hacer su pago por teléfono, Oprima 1.”,这没关系,但我需要在“si”中得到一个大写字母,在“Oprima”中得到一个小写字母,这样它就具有正确的句子格式。

我尝试在各自的 之前使用\Land ,但是 MemoQ 写了and以及替换的句子,所以看起来那些转义的标记在这里不起作用。我查看了 MemoQ 的关于正则表达式的帮助部分,但他们只非常简单地提到了替换函数,没有进行这种修改。\l$\L\l

有什么想法可以代替\l\L我可以用来替换大写和小写字母吗?

4

1 回答 1

0

我的猜测是我们会面临很多边缘情况,但是如果我们希望从表达式开始,我们可能会尝试:

([A-Z].+[0-9]+)\s*([a-z])(.+)([.;,:])

或者:

(.+[0-9]+)\s*(.)(.+)([.;,:])

对于小写/大写,我们可能想使用 JavaScript 内置函数,\U$2\L$3, \L$1$4仅用于演示:

演示 1

在这里,我们最好拆分句子,编写大部分问题的脚本,而不是用正则表达式解决整个问题。

例如,我不确定\U\L在 JavaScript 中,.tolowercase函数.touppercase可能非常适合。

演示 2

于 2019-06-13T14:49:10.500 回答