在翻譯的文檔中,有大量日期類型爲12.05.2011
。我需要用月份名稱替換月份數字(中間),如-May-
,這將給12-May-2011
。這是必要的,因爲有些讀者可能錯誤地認爲月份編號是在開頭而不是在中間。SDL Trados中的正則表達式搜索(翻譯工具)
出於某種原因,我想出了正則表達式^(?<=[\d]{2})\.05\.(?=[\d]{2,4})$
,只有當我刪除^
和$
符號時才起作用。這是爲什麼?
在下圖中,正則表達式無法選擇.05.
,除非我刪除那些^
和$
。
P.S.我想搜索填充整個翻譯部分的字符串,因爲偶然可能會有一些非日期字符串,例如某些生產代碼,2135.05.2011.462
,而我的搜索替換可能錯誤地將-May-
放在那裏。^_ ^那會破壞我的翻譯。
直到我設法使用^...$
那裏,我會用它作爲粗略的方法來確保至少天數在01-39範圍內:(?<=[0-3][0-9])\.05\.(?=20{0,1}[\d]{2})
。這也確保年份數字(如果它有4位數字)具有20
作爲其中前兩個數字(因爲在我的文檔中日期通常來自21世紀)。
謝謝你,但我想尋找填補整個翻譯區段列,因爲有可能會偶然出現一些非日期字符串,比方說,一些生產代碼,'2135.05.2011.462'和我的搜索和替換可能會錯誤地將' - 可以''放在那裏。^_ ^這會破壞我的翻譯。 – CopperKettle
因爲翻譯段不包含非空白字符,所以'\ s'的正則表達式在我的情況下無法正常工作。 – CopperKettle
@CopperKettle我編輯了答案。給我失敗的案例,並在我編輯的答案中嘗試新的正則表達式。 –