0
537 次浏览

你好,

我刚才在检查大写字母的错误使用情况。特别是,我知道翻译人员有时不小心将“LORD”写成了 \nd Lord\nd*。但令我惊讶的是,Run Basic Checks…>Capitalization(运行基本检查…> 大小写)并没有捕捉到全大写字母的情况。

这个正则表达式可以查找任何两个相邻的大写字母,但也会返回很多噪音。例如,书名缩写、语言代码和图片文件名。
regex:\w*[A-ZĆÄÏÜ]\w*[A-ZĆÄÏÜ]\w
(对于不熟悉正则表达式的人,[A-ZĆÄÏÜ] 表示从 A 到 Z 的任何字符,或者特殊字符 Ć、Ä、Ï 和 Ü 中的任何一个——仅限大写)

我寻找更改大小写规则的地方,但只能找到批准或拒绝混合大小写单词的地方(全大写字母单词不会出现在那里)。

我还搜索了 Paratext 帮助文件和这个论坛,但找不到任何相关信息。

目前有没有简单的方法来查找全大写字母单词?如果没有,能否添加此功能?也许这可以显示在混合大小写搜索结果中,尽管它们在技术上都是全大写。或者,也许最好让它们有自己的类别。

非常感谢!

机器翻译自 English
Paratext (379 分) 发布
已重新显示 | 537 次浏览

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?
匿名用户 发布 提问于 四月 10, 2015
0
2 个回答 309 次浏览
我正在协助的一个团队希望上帝之名的显示为全大写(而不是小型大写)。我需要在 Changes.txt 中填入什么内容,才能让 \nd…\nd* 的内容显示为全大写?
Ruth Mathys 153 发布 提问于 十月 25, 2023
0
6 个回答 810 次浏览
你好,我有一个关于在词表中批量将单词标记为错误的问题 我们正在进行新约的最终检查,刚刚修改了两条正字法规则 由于其中一条规则,我想批量将某些单词标记为错误,但由于第二条规则,我无法指定正确的拼写--那条规则要求我必须能够与母语 ... 什么?或者,如果这是预期的行为,因为没有人要求使批量处理成为可能,那么现在这是一个使其成为可能的请求! 谢谢, Lizzie
anon859055 130 发布 提问于 七月 14, 2021
0
6 个回答 450 次浏览
我希望 \nd 样式显示为小型大写字母(small caps)。当我从 PT 导出到 RTF 时,\nd 是带下划线的。我在 PTX Print 的 \nd 样式定义中勾选了小型大写字母选项,但打印生成 PDF 时,样式没有任何区别。我该怎么做才能显示小型大写字母?
anon054969 123 发布 提问于 二月 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 发布 提问于 三月 15, 2019
Welcome to Support Bible, where you can ask questions and receive answers from other members of the community.
All the believers were one in heart and mind. No one claimed that any of their possessions was their own, but they shared everything they had.
Acts 4:32
3,048 个问题
6,007 个回答
5,672 条评论
2,027 位用户