0
539 次瀏覽

您好,

我剛在檢查大寫字母的錯誤使用。特別是,我知道翻譯者有時會不小心把「LORD」寫成 \nd Lord\nd*。但我很驚訝 Run Basic Checks…>Capitalization 沒有抓到全大寫字母的情況。

這個正則表達式可以找出任何兩個相鄰的大寫字母,但也會返回很多雜訊。例如,書名縮寫、語言代碼和圖片檔名。
regex:\w*[A-ZĆÄÏÜ]\w*[A-ZĆÄÏÜ]\w
(對於不熟悉正則表達式的人來說,[A-ZĆÄÏÜ] 表示從 A 到 Z 的任何字符,或任何特殊字符 Ć、Ä、Ï 和 Ü——僅限大寫)

我尋找過可以更改大寫規則的地方,但只能找到批准或拒絕混合大小寫單詞的地方(全大寫單詞不會出現在那裡)。

我也搜尋了 Paratext 的說明文件和這個論壇,但找不到任何相關資訊。

目前有沒有簡單的方法來找出全大寫的單詞?如果沒有,能否增加這個功能?也許這可以顯示在混合大小寫的搜尋結果中,儘管它們在技術上是全大寫。或者,也許讓它們有自己的類別會更好。

非常感謝!

機器翻譯自 English
Paratext (379 點) 提出
已重新顯示 | 539 次瀏覽

6 個回答

0
最佳回答

我喜歡使用正則表達式,但它總是讓我頭暈。以下是我如何將其分解,供有興趣的人參考。我使用底線作為空格,以保持對齊。

分解用於找出未緊接在特定標記之後的全大寫單詞的正則表達式。
(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

  1. 尋找單詞邊界
    __________________________\b_________
  2. 尋找單詞開頭的任何大寫字母
    __________________________\b\p{Lu}___
  3. 從單詞開頭開始,尋找一個或多個大寫字母
    __________________________\b\p{Lu}+__
  4. 尋找任何長度且全為大寫字母的單詞
    __________________________\b\p{Lu}+\b
  5. 在找到全大寫單詞後,檢查其前面是否有一個可選分組
    (?_______________________)\b\p{Lu}+\b
  6. 在找到全大寫單詞後,確保其前面沒有反斜線
    (?<!\\___________________)\b\p{Lu}+\b
  7. 在找到全大寫單詞後,確保其前面沒有 \id 或 \h 或 \toc 或 \mt 或 \fig
    (?<!\\(id|h|toc|mt|fig)__)\b\p{Lu}+\b
  8. 在找到全大寫單詞後,確保該行更早的位置沒有 \id 或 \h 或 \toc 或 \mt 或 \fig
    (?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

就個人而言,我認為我會移除 |mt,因為我也想檢查書名中的全大寫字母。

我突然想到,如果插圖插入在節的開頭或中間怎麼辦?此正則表達式將無法偵測到後續的全大寫單詞。

(\\fig(.*?)\\fig\*) 捕獲整個插圖標籤,但這最終沒有幫助。我想出了這個:
(?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

以下是分解:

  1. 在找到全大寫單詞後,確保該行更早的位置沒有 \id 或 \h 或 \toc。
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b______________
  2. 在找到全大寫單詞後,確保該行更早的位置沒有 \id 或 \h 或 \toc。然後向前查看任意數量的字符。
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?___________
  3. 在找到全大寫單詞後,確保該行更早的位置沒有 \id 或 \h 或 \toc。然後向前查看任意數量的字符,以確保該行後續位置找不到 \fig*
    (?<!\\(id|h|toc).*)\b\p{Lu}+\b.*?(?!\\fig\*)

不知何故,這個正則表達式沒有抓到 “\mt1 GÉNESIS”。有什麼想法嗎?

機器翻譯自 English
(379 點) 提出
已重新顯示

\fig 不應位於節或段落內部,因為根據您的輸出軟體不同,它會以各種糟糕的方式破壞文本和格式。它需要放置在段落的結尾。當然,我們在文本特別不乾淨的時候也會執行正則表達式,但我想提及這個限制。

機器翻譯自 English
0

嗨 anon094061。
您可以在 Paratext 搜尋引擎中輸入以下正則表達式,以查看全大寫的單詞:regex:\b\p{Lu}+\b

其中:
“regex:” 是告訴 Paratext 這是正則表達式的指令。
“\b” 是單詞邊界
“\p{Lu}” 表示大寫字母
“+” 表示上述公式出現一次或多次。
也就是說,它將尋找一個或多個連續的大寫字母,且兩端有單詞分隔符,例如空格或逗號。


確實,Mixed capitalization inventory… 會考慮不尋常的組合,因此它不會在此列出全大寫的單詞。

機器翻譯自 English
(973 點) 提出
已重新顯示
0

這稍微複雜一點,但您也可以使用:
regex:(?<!\\(id|h|toc|mt|fig).*)\b\p{Lu}+\b

這是為了忽略我們已知會大寫的某些標記的內容,例如 “id” 或 “mt”。
您可以透過在較大的括號內添加 “|” 和標記名稱來排除其他標記。

機器翻譯自 English
(973 點) 提出
已重新顯示

哇,這真的太棒了!非常感謝 anon689242- 這正是我需要的。

我認為這個檢查將是 “Assignments and Progress” 的一個很好的補充。

機器翻譯自 English
0

啊,我剛意識到我的 \fig \fig* 解決方案會過濾掉插圖之前節中的全大寫結果。因此,需要更進階的方法。我將研究如何告訴正則表達式忽略一個分組。

機器翻譯自 English
(379 點) 提出
已重新顯示
+1

我發現 https://regex101.com/ 在分析正則表達式時很有幫助,雖然我理解網路連線對某些人來說可能是一個問題。我不確定哪種正則表達式「風味」對應於 Paratext 所使用的。

機器翻譯自 English
(296 點) 提出

根據我的筆記,Paratext 9、RegEx Pal、PrintDraft Changes.txt 和 DBLchanges.txt 都使用
C# (NET 2.0-4.8.1 & .NET Core 1.0-3.0)

我很樂意確認這一點。

機器翻譯自 English
0

非常好的觀察。感謝 @Shegnada 和 @anon806807。

我剛在想,我們可能希望這個正則表達式也能檢查插圖的 alt 文本。我認為只是圖片檔名有問題,所以我們為什麼不直接過濾它呢?類似於
\b.*\.(TIF|GIF|JPG|JPEG)\b

也許加上負向先行斷言?類似於這個?

(?:\b.*\.(TIF(F)|GIF|JP(E)G|PNG|EPS|BMP|WEBP)\b)

它應該也要忽略像 CN01628B.tif 這樣的內容。

我寫這段話時不在電腦前,但我希望很快能測試它。

機器翻譯自 English
(379 點) 提出
已重新顯示

相關問題

0
3 個回答 228 次瀏覽
(Paul Unger writes) I found a topic in the PT Supporters e-mail list that held promise for how to do this. It ... track. Does anyone know what I need to put for small caps?
匿名 提出 已提問 4月 10, 2015
0
2 個回答 309 次瀏覽
我正在協助的一個團隊希望將上帝的名字顯示為全大寫(而非小型大寫)。我需要在 Changes.txt 中輸入什麼,才能讓 \nd…\nd* 的內容顯示為全大寫?
Ruth Mathys 153 提出 已提問 10月 25, 2023
0
6 個回答 810 次瀏覽
大家好,我有一個關於在詞表中批量將單字標記為錯誤的問題 我們目前處於新約的最終檢查階段,剛修改了兩條正字法規則 我想因為其中一條規則而批量將某些單字標記為錯誤,但不指定正確拼寫,因為另一條規則要求我必須與母語者討論拼寫問題 如 ... 什麼?或者,如果這是預期的行為,因為沒有人要求使批量處理成為可能,那麼這現在是一個使其成為可能的請求! 謝謝, Lizzie
anon859055 130 提出 已提問 7月 14, 2021
0
6 個回答 450 次瀏覽
我希望 \nd 樣式能以小型大寫字母(small caps)顯示。當我從 Paratext 匯出為 RTF 時,\nd 會顯示為底線。我已經在 PTX Print 的 \nd 樣式定義中勾選了小型大寫字母選項,但當我列印以建立 PDF 時,完全看不出樣式的區別。我該做什麼才能實現小型大寫字母?
anon054969 123 提出 已提問 2月 20, 2021
0
0 個回答 162 次瀏覽
The KJVA uses \sc markup for signs and inscriptions like \sc King of the Jews\sc*. \sc stands ... Scripture Typesetting trainer & Regular Expression Specialist Dallas TX aDllas TX
anon467281 571 提出 已提問 3月 15, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
I appeal to you, brothers and sisters, in the name of our Lord Jesus Christ, that all of you agree with one another in what you say and that there be no divisions among you, but that you be perfectly united in mind and thought.
1 Corinthians 1:10
3,048 個問題
6,007 個回答
5,672 則評論
2,027 位使用者