サイト内のほとんどの場所を見ようとしたが、私の質問はまだ他の人によって引き起こされていないことを願っていますが、Perlで重複する2つのパターンを一致させる
私の問題は、次のとおりです。私はすべての出現1 または文字列内の別のパターンのの位置を検出するために持っているPerlスクリプトを作ってるんです。例えば
:
$string = "betaalphabetabeta";
$pattern = "beta|alpha";
この場合、私は4試合を返すように私のスクリプトをしたいと思います。
私は、これが容易に何らかの方法このように一致演算子を使用することによって達成することができることを考えた:
$string =~ /beta|alpha/g;
しかし、私の二つのパターン(「アルファ」、「ベータ」)、片部分的に重なっているので私がちょうど投稿したコードは、最初のパターンが2番目のパターンと重なったときにそれをスキップします。
など。私はこのような文字列がある場合:?
$string = "betalphabetabeta";
をそれだけで私は=演算子との何かをしようとしましたが、私はカップルに管理することはできません代わりに4
の3試合を返します。それは正しい方法でOR演算子とそれ...
誰にも解決策はありますか?ご協力いただきありがとうございます!
あなたのコードの多くを投稿することができ、例えば一部が一致の数を返しますか? – Perleone
[how-do-i-substitute-overlapping-a-perl-regex](http://stackoverflow.com/questions/6572189/how-do-i-substitute-overlapping-matches-with-a) -perl-regex) –
@mugenkenichi well ..このソリューションは複雑すぎます。代わりに 'lookahead'を使うことができます! – Anirudha