在 calibre 中自動排列集數的方法
在 calibre 匯入書本時常常會發現書本的集數很混亂,事後要修改時都會覺得很麻煩。
因此我研究了一下使用正規表達式來自動篩出書名的方法。
先給大家看看表達式。
表達式:[^\d]
解釋:
\d: 數字
[^....]: 符合的以外 (NOT)
這個表達式的意思是:不要找出數字或是符號。
因為 calibre 是搜尋取代模式,會將符合的值取出來,然後取代成底下輸入的值。
所以我們反過來操作,把集數以外的部分取出來,就只會留下集數了!
詳細步驟很簡單!
先選取想要的書籍,右鍵>批次地編輯詮釋資料
接著在搜尋模式選:正規表達式
搜尋欄位處選:title、目的端欄位選:series_index
搜尋欄輸入:[^\d]
確認之後就可以看到集數已經套用上去囉。
之後就可以以集數排列書本囉。
大部分的時候 [^\d] 就可以解決問題囉。
不過如果出現特殊的狀況,就要看情況解決了。
在這個情況下,書名中有小數點。
如果只用 [^\d],就會把 14.5 變成 145。所以就必須要微調一下表達式了。
表達式:[^\d|[:punct:]]
解釋:
\d: 數字
[:punct:]: 符號
[^....]: 符合的以外 (NOT)
|: OR
不過 [:punct:] 有它的侷限性~ 有的時候沒辦法發揮作用。
這時候把 [ ] 內容替換成想要拿掉的值就可以囉。
參考:
https://stackoverflow.com/questions/41311605/regex-for-matching-all-non-words-except-punctuation
https://support.google.com/a/answer/1371415?hl=zh-Hant
留言
張貼留言