中文偽春菜後援會論壇  

打印

[問題] 關於OnTranslate內RE_REPLACE無效的問題...

是怎樣的轉換無效?

「!(?=[^!])」這個正規表現式所表達的意思是
「接續著不包含!之字串的!」
要注意的是!後面必須至少有一個以上的字
因此在整個字串中最後面的!後面要是沒有字的話是不會置換的

例子:
「不準動這是搶劫!把笑點交出來!!」
這個字串會被置換成
「不準動!\w9\w5這是搶劫!!\w9\w5把笑點交出來!!」

----

嘛...重新看了一下你的問題
你問的是「某些情況下!的置換會失效」對吧?
原因應該是!的後面直接追加了Sakura語法,
例如:
「不準動!!\n這是測試。」→失敗
「不準動!!這是測試。」→成功

會產生這種結果主要跟我上面提及的特性有關,
因為你所使用的程式碼在切割字串時是以Sakura語法為單位,
而!又常跟\n連在一起,
結果切字串時經常把!留作最後的字…

解決的方法是將「!(?=[^!])」改為「!(?=[^!])|!$」
希望能幫得上忙...(滾走)

[ 本帖最後由 時原砂 於 2008-11-3 08:29 編輯 ]
末月返想 - 創意的存放處
二次元斷層 - 成果展現之所在

惰性是大敵。

TOP



當前時區 GMT+8, 現在時間是 2020-10-22 15:14

Processed in 0.009679 second(s), 9 queries, Gzip enabled.

清除 Cookies - 聯繫我們 - 中文偽春菜後援會 - Archiver - WAP - TOP - 界面風格