#
正則
#
正則表達式配置的作用
在 Tavo 中,正則表達式用於自動化處理文字內容。具體來說,它可以幫助您:
識別特定的文字模式,比如去掉不需要的前綴,或者提取特定資訊。
修改或替換文字內容,使得角色對話更加自然或符合設定。
清理多餘的字元或格式,使對話更加簡潔和符合標準。
正則表達式的主要應用是在文字處理和自動替換方面,比如您可以自動去除使用者和角色對話中的冗餘資訊,或者統一格式。
#
正則表達式配置項詳解
#
1. 名稱
作用:為這個規則起個名字,便於區分和管理。
舉例:
名稱:清理系統提示
這只是為了方便您識別它,例如您有多個規則時,名稱能幫助您更快找到需要的規則。
#
2. 正則表達式(Find Regex)
作用:正則表達式是您要匹配的文字模式。它是用來搜尋文字中的特定模式,並告訴系統您要匹配哪些內容。
舉例:
正則表達式:^\[系統提示\]:(.+)$
這個正則表達式的意思是:匹配所有以[系統提示]:開頭的內容,捕獲[系統提示]:後面的所有文字。例如,[系統提示]:任務開始中的「任務開始」會被匹配到並提取出來。
^:表示匹配行的開始。\[系統提示\]:匹配字面字元[系統提示]([和]在正則表達式中有特殊含義,需要用反斜線\轉義)。(.+)$:表示匹配冒號後面的內容,並捕獲它。
#
3. 替換內容(Replace With)
作用:這是您希望用來替換匹配到內容的文字。您可以用
$1、$2等來引用正則表達式捕獲的群組。舉例:
替換內容:$1
這個意思是將正則表達式中第一個捕獲群組(即[系統提示]:後的內容)替換為新內容。所以,[系統提示]:任務開始就變成了任務開始。
您還可以使用其他佔位符,如:
{{match}}:表示完整的匹配內容(整個「
[系統提示]:任務開始」)。$1:表示第一個捕獲群組(即「任務開始」)。
#
4. 替換前修剪(Trim Out)
作用:在執行替換之前,移除匹配到的內容中的某些部分,通常用來去掉不需要的部分。
舉例:
修剪前:玩家說:
這個功能會移除所有匹配到的玩家說:,讓您處理的內容變得更乾淨。
#
5. 作用範圍
作用:定義這個規則適用於哪些類型的訊息。
具體包括:
使用者訊息:適用於使用者發送的訊息。
角色訊息:適用於角色發送的訊息。
思維鏈:在AI的思考過程中,對思維鏈中的內容進行處理。
世界書:適用於角色的背景、世界設定等內容的處理。
舉例:
如果您希望去除角色訊息中的多餘前綴,就選擇「角色訊息」作為作用範圍。
作用範圍:角色訊息
#
6. 執行時機
作用:控制正則表達式規則在哪個時機生效,具體包括:
顯示時:當訊息準備顯示給使用者時,執行正則表達式。
發送時:訊息發送到系統時執行正則表達式。
發送和顯示時:既在發送時也在顯示時執行正則表達式。
接收時:接收到訊息時執行正則表達式。
接收和改寫時:接收到訊息並修改內容時執行正則表達式。
舉例:
假設您想在訊息顯示之前去掉不需要的符號或多餘的部分,可以選擇「顯示時」:
執行時機:顯示時
這樣系統會在訊息呈現給使用者之前,先進行文字處理。
#
7. 替換參數
作用:控制是否進行替換,以及如何處理替換內容。
具體包括:
不替換:不進行任何替換,原樣保留內容。
原文替換:替換時保留原文格式。
轉義替換:替換內容時會自動處理特殊字元(例如將反斜線等轉義字元進行適當轉義)。
舉例:
如果您選擇「原文替換」,那麼替換後的內容將保持原文格式,避免出現編碼錯誤等問題:
替換參數:原文替換
#
綜合示例:
假設您有以下規則:
使用者訊息中的「
[系統提示]:」需要被去掉,只保留後面的內容。使用正則表達式:
^\[系統提示\]:(.+)$替換內容:
$1作用範圍:使用者訊息
執行時機:顯示時
替換參數:原文替換
配置完成後,使用者發送的訊息:
[系統提示]:任務開始
將被顯示為:
任務開始
#
總結
正則表達式幫助您識別和修改文字的特定模式。
替換內容決定了如何修改匹配到的文字。
作用範圍和執行時機幫助您決定在哪些場合、何時應用這些修改。
替換參數控制替換時的具體行為。
透過正則表達式,您可以大大提高對話內容的管理和自動化處理,使得對話更加自然、符合預期。