perlでの置換えの扱いについて教えてください。

$val =~ s///g;
を利用する際、条件等にスラッシュを含む場合どのように記入したら良いのでしょうか?
../img/を./img/に置き換えたいです。

回答の条件
  • 1人5回まで
  • 登録:
  • 終了:2011/07/27 18:39:18

ベストアンサー

id:j4mika No.1

回答回数186ベストアンサー獲得回数27

「.」の前に円記号を入れて下さい。

id:master-3rd

素早い返答ありがとうございました。

無事動作させる事が出来ました!

2011/07/27 18:39:50

その他の回答2件)

id:j4mika No.1

回答回数186ベストアンサー獲得回数27ここでベストアンサー

「.」の前に円記号を入れて下さい。

id:master-3rd

素早い返答ありがとうございました。

無事動作させる事が出来ました!

2011/07/27 18:39:50
id:cho45 No.2

回答回数19ベストアンサー獲得回数6

$val =~ s{\.\./img/}{./img/}g;

バックスラッシュでエスケープするか、または上記のように、囲う文字を変えます (スラッシュが多い場合は文字を変えたほうが読みやすいですね)。

id:cubick No.3

回答回数129ベストアンサー獲得回数39

スラッシュ等の特殊記号を"文字"としてパターンに含めたい場合は、記号の直前に

バックスラッシュ(\)を置きます。

# 環境によっては円マーク(¥)で表示される場合があります。

パターンにスラッシュを含む場合には、区切り文字の方をスラッシュ以外に

置き換えると多少見やすくなります。


$val =~ s|\.\./img/|./img/|g;

コメントはまだありません

この質問への反応(ブックマークコメント)

「あの人に答えてほしい」「この質問はあの人が答えられそう」というときに、回答リクエストを送ってみてましょう。

これ以上回答リクエストを送信することはできません。制限について

回答リクエストを送信したユーザーはいません