簡體   English   中英

javascript-如何用正則表達式替換大寫和小寫?

[英]How to replace uppercase and lowercase with regex in Javascript?

我正在嘗試為翻譯軟件MemoQ中的某些文本創建正則表達式替換模式,但是\\L\\l最終寫在了替換的文本中。

我基本上是在嘗試替換“如果要執行此操作,請按1”之類的結構。 “如果要執行此操作,請按1”。

我想出的用於西班牙文本的正則表達式是:

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

我正在使用的替換是:

$4, $1 $3.

例如,對於“ Oprima 1 si quiere hacer su pago porteléfono”。 我收到“ Oprima 1的電話”,這是可以的,但是我需要以“ si”大寫,並以“ Oprima”小寫,因此其格式正確。

我嘗試在各自的$之前使用\\L\\l ,但是MemoQ在替換的句子中加上了\\L\\l ,所以看來那些轉義的標記在這里不起作用。 我查看了有關正則表達式的MemoQ的幫助部分,但它們僅非常簡單地提到了替換功能,沒有什么可以做這種修改的。

除了\\l\\L還能用來替代大寫和小寫字母的任何其他東西的任何想法嗎?

我的猜測是,我們可能會遇到許多極端情況,但是如果我們只想從表達式開始,則可以嘗試:

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

要么:

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

對於較低/較高的部分,我們可能要使用JavaScript內置函數, \\U$2\\L$3, \\L$1$4僅用於演示:

演示1

在這里,最好是分割句子,為我們的大部分問題編寫腳本,而不是使用正則表達式解決整個問題。

例如,我不確定JavaScript中的\\U\\L.tolowercase.touppercase函數可能非常適合。

演示2

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM