2012-05-01 9 views
6

私はPerl変数$wordを持っています。1つのPerl正規表現で異なるケースルールを組み合わせる

$text =~ /ab($word)cd/; 

は、私は正規表現は、大文字と小文字を区別abcd部品のためになりたい、しかし$wordにあるものについてない:私はこのような正規表現をしたいです。 $word='stack'あれば、私はこれらの両方が一致するとよいでしょう:

など
abstackcd 
abStAcKcd 

を、私は、私は私が適用されるいくつかの方法を探しています推測

Abstackcd 

と一致する必要はありません/iをちょうど$wordに変更しましたが、残りの部分は変更しません。これはできますか?

答えて

15

はい、(?i:$word)を使用します。セクション"Extended Patterns" of perldoc perlreを参照してください。あなたは実際にを望んでいるかもしれませんが、それは$wordにある正規表現のメタキャラクタを自動的に引用します。

+0

文字列をパターンに変換する方法については、+1を参照してください。 – ikegami

+0

偉大な答え、ありがとう! – itzy

関連する問題