Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/382.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在Javascript中用正则表达式替换大小写?_Javascript_Regex_Replace - Fatal编程技术网

如何在Javascript中用正则表达式替换大小写?

如何在Javascript中用正则表达式替换大小写?,javascript,regex,replace,Javascript,Regex,Replace,我正试图为翻译软件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éfono”,我得到了“si q

我正试图为翻译软件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éfono”,我得到了“si quiere hacer su pago poréfono,Oprima 1.”,这是可以的,但我需要在“si”中得到一个大写字母,在“Oprima”中得到一个小写字母,这样它的句子格式才合适

我试图在相应的
$
之前使用
\L
\L
,但MemoQ会将
\L
\L
与替换的句子一起写入,因此这些转义标记在这里似乎不起作用。我查看了MemoQ关于regex的帮助部分,但他们只简单地提到了替换函数,没有做这种修改


你知道除了用
\l
\l
替换大写字母和小写字母之外,还有什么其他东西可以替代吗?

我想我们会遇到很多边缘情况,但是如果我们想从表达式开始,我们可以尝试:

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

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

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

例如,我不确定JavaScript中的
\U
\L
.tolowercase
函数是否非常合适


我的猜测是,我们将面临许多边缘情况,但如果我们希望从一个表达式开始,我们可以尝试:

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

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

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

例如,我不确定JavaScript中的
\U
\L
.tolowercase
函数是否非常合适


你好谢谢你的帮助!我尝试过这个表达方式,但问题是它也匹配了正常的句子,例如:“Oprima 1 si quiere hacer su pago poréfono.si quiere otra cosa,Oprima 2。”我提到的第一个选项只匹配以“Oprima”开头的句子,而忽略了第二个,这正是我所需要的。我还尝试使用\U$4、\L$1$3,但结果中写了“\U”和“\L”,如“\Usi quiere hacer su pago poréfono,\LOprima 1.”嗨!谢谢你的帮助!我尝试过这个表达方式,但问题是它也匹配了正常的句子,例如:“Oprima 1 si quiere hacer su pago poréfono.si quiere otra cosa,Oprima 2。”我提到的第一个选项只匹配以“Oprima”开头的句子,而忽略了第二个,这正是我所需要的。我还尝试使用\U$4、\L$1$3,但结果中会写入“\U”和“\L”,如“\Usi quiere hacer su pago poréfono、\LOprima 1”