2016-06-09 127 views
0

我正在翻譯CAT軟件中的文檔,並且遇到大量帶標籤的文檔時遇到問題。該軟件支持正則表達式,我希望可以創建一個來幫助我解決這個問題。我需要一個正則表達式來選擇光標插入點之間的所有內容,直到「小於」符號<,這標誌着標籤的開始。這將允許我立即開始打字,用我的翻譯替換原文。 然後,我需要另一個表達式來跳轉標籤,也就是將光標放在最後一個「大於」符號之後,可以將其標識爲「小於」符號後面的符號。換句話說,正則表達式會命令將光標移動到「大於」>符號之後的位置,緊接着除了「小於」<符號之外的任何其他位置。 下面是一個例子:正則表達式刪除標籤之間的文本

> Some student will investigate two dialects of </s1></s0><s2><s3>every 
> </s3></s2><s4><s5>language </s5></s4> 

插入點位於句首,詞「有些」,我需要一個正則表達式,將選擇所有文本到「小於」 <符號前右,也就是在「of」之後。在這一點上,我需要一個正則表達式,可以在「every」之前跳過插入點。

+0

您可以在翻譯之前將文本加載到文本編輯器(支持正則表達式,例如'Notepad ++')。那麼這只是一個用空字符串替換'<[^>] +>'的問題。 [像這樣。](https://regex101.com/r/aD9yM2/1)。 – ClasG

+0

謝謝vp_arth,因爲我不是一個程序員,我不能確定,但​​它看起來可能類似於我的問題,但它要求用正則表達式來完成另一件事。此外,在其他線程的答案表明,使用正則表達式與HTML文件是不可能的,我不知道是否同樣適用於XML文件,我需要一個正則表達式適用於。希望有人給我一個明確的答案來解答我的問題,並且有人向我澄清這一點。 –

+0

謝謝你的答案ClasG。我無法做到這一點,使用CAT軟件的關鍵在於保持標籤的位置並將文本翻譯在它們之間。這樣原始文檔的格式保持不變。 –

回答

0

選擇到下一個標籤可與

[^<]* 

可以做到,那麼這是一個有點不清楚,如果第二個正則表達式 - 跳過標記 - 應該簡單地匹配標籤。然後它是

<[^>]*> 

如果它應該選擇下一個文本,它會更復雜。但是,讓我們從這個開始;)。

+0

感謝您的幫助TEXHIK和ClasG。你的第一個表達式ClasG完成了前半部分的工作,它確實選擇了「小於」符號的所有內容,當我從句子的開頭選擇到<符號時,這將會執行。 @TEXHIK,你的表達式正是我所需要的,但爲了有用它需要排除>和<之間的零字符串匹配,這樣我就跳過了標籤。它只需要匹配在<<之間具有任意數量字符的字符串 –

0

[^>]*(?=<) 將查找><之間的所有文字。但是,它會找到選擇結果,不放置光標某處。

相關問題