Skip to main content

正規表現にマッチする文字列のスライスを返します。

デフォルトでは、 findRE 関数はすべてのマッチを検出します。オプションの LIMIT パラメータを指定することで、マッチの数を制限することができます。

正規表現を指定するときは、構文を簡単にするために、解釈された文字列リテラル (二重引用符) ではなく、生の 文字列リテラル  (バッククォート) を使用します。解釈された文字列リテラルを使用する場合は、バックスラッシュをエスケープする必要があります。

この関数は RE2  正規表現ライブラリを使用します。 詳細については、RE2 構文ドキュメント  を参照してください。 RE2 の \C エスケープ シーケンスがサポートされていないことに注意してください。

で認められている構文のサブセットであり、さまざまな <a href=“https://swtch.com/~rsc/regexp/regexp3.html#caveats"target="_blank"  rel=“noopener”>注意事項 

があります。

以下の例では、レンダリングされた .Content 内のすべての第 2 レベルの見出し (h2 要素) のスライスを返します。

{{ findRE `(?s)<h2.*?>.*?</h2>` .Content }}

s フラグを指定すると、 .\n にもマッチするようになり、改行を含む h2 要素を見つけることができるようになります。

マッチの数を 1 つに制限する場合は、以下のように書きます。

{{ findRE `(?s)<h2.*?>.*?</h2>` .Content 1 }}

を使えば、正規表現を書いてテストすることができます。始める前に、必ず Go フレーバーを選択してください。