HIllya51 / LunaTranslator

Galgame翻译器,支持HOOK、OCR、剪贴板等。Visual Novel Translator , support HOOK / OCR / clipboard
http://docs.lunatranslator.org/
GNU General Public License v3.0
4.92k stars 250 forks source link

关于正则替换的边界问题 #562

Closed k2250761 closed 8 months ago

k2250761 commented 8 months ago

Quicker_20240307_194526 能否增加一个原文匹配边界开关,像VNR辞书那样。 例如「はぁ、ああぁ、ああぁ……」,能够独立匹配到 はぁ和ああぁ 这种的。

HIllya51 commented 8 months ago

什么意思,不明白。

k2250761 commented 8 months ago

就是能够单独匹配到两个标点符号之间的原文

HIllya51 commented 8 months ago

说得太抽象了,看不懂。请举例子。

k2250761 commented 8 months ago

比如这句话「あ、待ってね」我要用正则匹配“あ”替换成“啊”,但是如果直接替换掉“あ=啊 ” 之后遇到类似这种的句子:あいうのが好きか 就会变成 啊いうのが好きか,所以需要一个边界能够独立匹配到「あ、待ってね」中的あ,这样不会出现原文被误伤

HIllya51 commented 8 months ago

你正则后面加一个判断有没有标点不就行了。

k2250761 commented 8 months ago

之前我也是这样想的,但是标点符号太多,还有一些类似特殊符号的,太长了

HIllya51 commented 8 months ago

又没必要把所有标点全加进去,考虑这么多干什么

k2250761 commented 8 months ago

因为VNR辞书是有边界宏的,这个就是为了自己替换的内容不被误匹才弄出来的,但是软件的正则跟VNR又不一样,所以我搬不过来,也没想到别的方法,如果太麻烦弄不了,就算了。我在想别的办法

HIllya51 commented 8 months ago

VNR辞书格式太复杂了,我看的头大,只做了最基本的支持。如果你感兴趣可以修改甚至重写 https://github.com/HIllya51/LunaTranslator/blob/main/LunaTranslator/LunaTranslator/myutils/vnrshareddict.py

k2250761 commented 8 months ago

我也不懂代码,只是稍微研究过一点辞书,太复杂就算了,没事的

k2250761 commented 8 months ago

VNR辞书格式太复杂了,我看的头大,只做了最基本的支持。如果你感兴趣可以修改甚至重写 https://github.com/HIllya51/LunaTranslator/blob/main/LunaTranslator/LunaTranslator/myutils/vnrshareddict.py

作者大大,这个正则替换能增加一个搜索栏吗,我突然发现这个正则替换里面没有搜索栏