2016-04-27 11 views
0

引用符で囲まれたテキストをキャプチャする正規表現と、それに続く聖句参照を含む括弧のセットがあります。これは、聖書の詩を参照しているキリスト教の本の章を含む文書が、詩をマッチさせ、聖書の任意の翻訳に置き換えることができるようにするためです。大きな文書で特定のパターンを見つけるための複雑な正規表現

私はこれに多くの問題を抱えてきました。私は、部分的に働くパターンしか考え出すことができません。ここに、私に問題を起こすテキストの例があります。

「弟子を作る」 - キリストの務めによって拘束された自分のような人たちを、彼らが従うだけでなく、他の人たちが自分の道に従うように導くこと。弟子たちが作られたときにのみ、委員会の他の活動がその目的を果たすことができました。受託者を訓練するリーダーシップが強調されました。イエスはすでに奉仕の大衆が収穫のために熟していたが、霊的な羊飼いがそれを導くことなく、どのように勝利することができるのかを、彼自身の宣教によって実証しました。それゆえ、イエスは弟子たちに、「彼が収穫のために働く者を送るように」と教えてくれました(マタイ9:37、38;ルカ10:2)。より多くのテキストはここに。

これは私がまだ持っている最も良い正規表現です。

(\"[^\s\d]*[^:]*[^\s\d]*)*\"\s*\(([\w. ]+[\d\s]+[:][\s\d\-]+[^)]*) 

私が思いついたすべての正規表現は、これが起こっていない状況でのみこのパターンをキャプチャします。これに伴う問題は、最初の引用符を最後に引用し、最後の引用符を最後の括弧の直前に、そしてそれらの括弧と節を取り込むことになります。しかし、この例では、「彼が収穫に労働者を送り込む」(マタイ9:37、38;ルカ10:2)だけを捉えたいと思うでしょう。

これは正規表現で可能ですか?

また、ここでは聖書の言及を残念に思っていますが、私はちょっと複雑な問題を解決することに興味があります。

Here is a link to what I have so for.

答えて

0

この

("[^"]+"\s*\([^)]+\)) 

Regex demo

またはこの

"([^"]+)"\s*\(([^)]+)\) 

Regex demo

をお試しください

説明:
(…):キャプチャグループsample
[^x]:X sample
+ではありません1つの文字:1つ以上のsample
\s: "空白文字":スペース、タブ、改行、キャリッジリターン、垂直タブsample
*:0回以上sample
\は:特殊文字をエスケープsample

関連する問題