2017-01-05 12 views
-4

この部分文字列の出現がperl正規表現を使って0回以上できる場合、文字列から部分文字列を切り取ることは可能でしょうか?例えばので特定の部分文字列を切り取る方法は?

:それはあるかどう

"foo bar //baz""foo bar"は、ダブルスラッシュの後ろにすべてのものを切り出し、"foo bar"になる必要があります両方。

これは他の方法でも簡単に実現できますが、正規表現のオンライナーが可能な場合は興味があります。

私は試しました($new_string) = ($string =~ /(.*?)(\/\/)*.*/) しかし、それは動作しません。何をしたい

答えて

7
 _____________ Matches 0 chars at position 0 (""). 
    /  ______ Matches 0 chars at position 0 (""). 
    / /_____ Matches 13 chars at position 0 ("foo bar //baz"). 
    _/ _____//
/\/ \/\ 
(.*?)(\/\/)*.* 

(my $new_string = $string) =~ s{//.*}{}; 

my $new_string = $string =~ s{//.*}{}r;   # 5.14+ 
+0

ありがとう!それはうまくいった! :) – maikelmeyers

関連する問題