2016-09-23 8 views
0

継続する字幕の行の前にダッシュを追加したいとします。このように:Notepad ++の特定の字幕行の先頭と末尾に文字を追加しますか?

例副(.SRT):これに

1 
00:00:48,966 --> 00:00:53,720 
Today he was so angry and happy 
at the same time, 

2 
00:00:53,929 --> 00:00:57,683 
he went to the store and bought a 
couple of books. Then the walked home 

3 
00:00:57,849 --> 00:01:01,102 
with joy and jumped in the pool. 

4 
00:00:57,849 --> 00:01:01,102 
One day he was in a bad mood and he 
didn't get happier when he read. 

1 
00:00:48,966 --> 00:00:53,720 
Today he was so angry and happy 
at the same time- 

2 
00:00:53,929 --> 00:00:57,683 
-he went to the store and bought a 
couple of books. Then the walked home- 

3 
00:00:57,849 --> 00:01:01,102 
-with joy and jumped in the pool. 

4 
00:00:57,849 --> 00:01:01,102 
One day he was in a bad mood and he 
didn't get happier when he read. 

元の字幕はスウェーデン語です。これはスカンジナビア語の字幕の標準です。

正規表現でNotepad ++でどのようにフォーマットするのですか?タグをどのように書く必要がありますか、字幕に斜体のタグが前後に含まれている場合はどうなりますか?

答えて

0

あなたはgm修飾子でこの正規表現を使用することができます:代用として

(?:,|([^.?!]<[^>]+>|[^>.?!]))$(\n\n.*\n.*\n) 

使用$1-$2-

私は文の簡単な定義を使用しています。 .?!のいずれかがある場合、それは文の終わりとしてカウントされます。これは完璧な定義ではないかもしれませんが、あなたは文章の終わりを見るだけです。

いくつかの要因(たとえば、行が終わる)によっては、少し調整する必要があるかもしれません。


本質的に、正規表現は2つの部分です。

最初の部分は、行末の3つのうちの1つに一致します。カンマと一致する場合は、そのカンマが削除されます。それ以外の場合は、最後の文字(タグがある場合はその前の文字)が.?!のいずれかでないかどうかを調べます。

第2部分は、ダッシュを必要とする前のすべての行に一致します。これはまた、ちょうどマッチした行の終わりに改行が続いていることを保証します。

関連する問題