私はperldoc perlre
とRegular Expressions Cookbookをスタックしていて、スタックオーバーフローに関する質問をしています。私は現在の一致数をどのように知っていますか?Perlの正規表現が一致した回数を評価する方法はありますか?
(私が正しくドキュメントを理解している場合\g{3}
)最後に閉じたグループマッチ($^N
)の式、マッチ3の内容がありますが、$'
、$&
と$`
。しかし、私が使うことができる変数は存在しないように見えるだけで、現在のマッチの数が何であるかが分かります。
本当にありませんか?もしそうなら、それが実装するのが難しい理由が説明されているのでしょうか?またはちょうど十分に慎重にperldocを読んでいないのですか?
(${$count++})
などのの回避策には、組み込み変数に興味がありますのでご注意ください。
文脈では、一致のあるインスタンスだけに一致する正規表現を作成しようとしています(例えば、すべての文字 "E"の一致に一致しますが、3,7、 10は単に配列内の数字です)。私はthis SO questionへのより慣用的な答えを構築しようとすると、これに遭遇しました。
正規表現を実際に3,7、および10を正規表現自体に挿入する文字列として評価しないようにしたいと思います。
キャプチャしたグループの数ではなく、一致する数が必要です。 – DVK
'私は組み込み変数に興味がありますので注意してください':perldoc perlvarにない場合は存在しますか? perlvarにはすべての* perl組み込み変数が含まれていると仮定しています。 – TLP
このような変数はありません。 perlvarはすべてのビルトイン変数を記述していません - 例えば '@ ISA 'は表示されませんが、すべてはどこかに書かれています。 Perlは隠された機能を持っていない傾向があります。あなたが解決しようとしている問題の例が、あなたが与える参照よりも優れていますか? – Borodin