22/10/26 13:04:46.22 Do8Z1/L1a.net
if (preg_match("/\bweb\b/i", "PHP is the web scripting language of choice.")) {
echo "A match was found.";
} else {
echo "A match was not found.";
}
PHPマニュアルに↑のように書いてあるわけよ
ここでダブルクオーテーションで囲まれてる"/\bweb\b/i"のことを文字列リテラルと言うわけ
PHPでダブルクオーテーションで囲まれた文字列リテラルはその中の\が特別な意味を持つんだ
これをエスケープコードと言う
エスケープコードを普通の文字に直すことを「エスケープする」と言ってこの場合は\を二つ重ねて\\と書くことでエスケープされてただの\を表すようになる
だから\bを書きたい時には\\bと書かなきゃいけないはず
なのにエスケープしなくていいのか?
というのが俺の疑問
プログラマー板で話す時ってここから言わなきゃいけなかったのか
知らんかったわ