2017-07-11 16 views
-1

私はまだに苦しんでいます Javascriptで正規表現を学習しています。私は、次のように変換するマークダウンコンバータを作成しようとしています:Javascript Regex複数の改行で複数の一致があります

> this text should be matched - ><span>this text should be matched</span>

以下に示すように、私はそれを下に持っているが、私はそれをより複雑にしようとしています:

<span>this is a match so is this, but should be in the same match as above</span> 
<span>this should be a seperate match > this is nothing</span> 

をしかし、私が午前問題はそのusinです:

> this is a match 
> so is this, but should be in the same match as above 

> this should be a seperate match > this is nothing 

が等しくなります私が現在持っている正規表現(/^\>(.*?)(?=\>|\n\n)/gm)、それは別々のマッチとして最初の2つを取り上げています。

ここに私の例を参照してください:https://regex101.com/r/cZkJAT/2

すべてのヘルプは素晴らしいことだ、感謝を。

答えて

0

あなたの正規表現のdotall修飾子を探しています。これはドットが行間で一致するように強制します。これはデフォルトでは行いません。これは、JSの正規表現のために存在していませんが、回避策としては、次のようにあなたの正規表現を言い換えることができます。行末、あなたのパターンを持っているようUnixが\n使用していますが、ウィンドウの使用方法について簡単なメモとして

(/^\>([\s\S]*?)(?=\>|\n\n)/gm 

\r\n。いずれかで終わる行に一致させるには、\r?\nを使用できます。

関連する問題