0

Calibre (python) で使用する正規表現を作成して、タイトルの括弧内にシリーズ名がある電子ブックを見つけようとしています。シリーズ名とタイトルが「~」で区切られたカスタム列があります。次に例を示します。

"The Series~The Book Title (The Series)"

私が思いつくことができる最善の方法は、タイトルの括弧内にシリーズ名から少なくとも1文字が含まれているものを見つけることです。

(.+)~.*[\(\1\)].*

文字列の最初の部分全体が 2 番目の部分の終わりに括弧で囲まれているものだけを見つけたいのですが、追加情報を含めることができます。

ありがとう。

4

3 に答える 3

0

これはメモ帳++で機能します:

(.+)~[^\(]*\(\1\).*

Python で同じように動作するかどうかはわかりませんが、通常、正規表現プロセッサは非常に似ているので、試してみてください。

于 2016-05-31T14:47:44.220 に答える
0

正規表現はかなり近いです。正規表現を少し変更して、次のようにすることができます。

(.+?)~.*[([]\1[)\]].*

ワーキングデモ

正規表現の視覚化

これは、次のような文字列に一致します。

The Series~The Book Title (The Series)
The Series~The Book Title [The Series]

ただし、単語と括弧を一致させたいだけの場合は、次のようにすることができます。

(.+?)~.*[(]\1[)].*
or
(.+?)~.*\(\1\).*

ワーキングデモ

正規表現の視覚化

于 2016-05-31T14:47:52.393 に答える