正規表現を使用して曲を編集するソフトウェアを使用しています。これは私が持っているものです:
ジミー・イート・ワールド - ザ・ミドル (.mp3)
私がやりたいのは、「-」の前のスペースとその後のすべてを削除することです。そのため、「Jimmy Eat World」だけが残ります。
そして、実行したいもう 1 つのアクションは、「-」までのすべてとそれに続くスペースを削除することです。これにより、「The Middle」だけが残ります。
正規表現を使用して曲を編集するソフトウェアを使用しています。これは私が持っているものです:
ジミー・イート・ワールド - ザ・ミドル (.mp3)
私がやりたいのは、「-」の前のスペースとその後のすべてを削除することです。そのため、「Jimmy Eat World」だけが残ります。
そして、実行したいもう 1 つのアクションは、「-」までのすべてとそれに続くスペースを削除することです。これにより、「The Middle」だけが残ります。
それは簡単なことです。
最初のアクション- ダッシュの後のすべてを削除します。
/ -.*/
空の文字列に置き換えます。(ダッシュの前に実際のスペースがあることに注意してください。)/ +-.*/
(ここでも の前に実際のスペースがあります+
)。2 番目のアクション- ダッシュまでのすべてを削除します。
/.* - /
空の文字列に置き換えます。(ダッシュの後に実際のスペースがあることに注意してください。)ノート
/
は正規表現の一部ではないため、入力する必要はありません。ここでは視覚的な区切り記号として機能します。.
を意味します(ファイル名に含まれない改行を除く)*
意味します+
意味します。^
、$
、.
、+
、*
、?
、{
、}
、(
、および)
であり[
、これらには独自の特別な意味がありますが、あなたの状況ではそれほど重要ではありません。]
|
\
あなたのプログラムは、正規表現で括弧で囲まれたグループを抽出できますか? その場合、次のような式を作成できます (例は Python で記述されています)。
In [1]: import re
In [2]: match_obj = re.match(r'(.+?)\s*-\s*(.+?)\.mp3', 'Jimmy Eat World - The Middle.mp3')
In [3]: match_obj.group(1)
Out[3]: 'Jimmy Eat World'
In [4]: match_obj.group(2)
Out[4]: 'The Middle'
これは、空白で囲まれた最初のハイフン、空白、およびその後のすべてに一致します (空の文字列に置き換えます)。
\s\-\s.*
これは、空白で囲まれた最初のハイフン、空白、およびその前のすべてに一致します。
.*\s\-\s
これは、リテラル(.mp3)
とその前のオプションの空白 (任意の量) に一致します。
\s*\(\.mp3\)
曲名を取得するには.*-\s*
、何も置き換えないでください。その後、何も置き換え\s*\(\.mp3\)
ません。
MP3 や WMA などのさまざまなファイル タイプがある場合は、追加のファイル タイプを次のように 2 番目の正規表現に追加できます\s*\(\.(mp3|wma|avi|mpg|mpeg)\)
。