[過去ログ] スレ立てるまでもない質問はここで 162匹目 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
98: (アウアウウー Sa45-Rexe) 2022/10/26(水)10:55 ID:Do8Z1/L1a(1/9) AAS
外部リンク[php]:www.php.net
文字列中で\b
99
(3): (アウアウウー Sa45-Rexe) 2022/10/26(水)10:57 ID:Do8Z1/L1a(2/9) AAS
途中で書き込まれた
文字列中で\b使ってるけどこれ\\bじゃなくていいのかな
101
(1): (アウアウウー Sa45-Rexe) 2022/10/26(水)12:18 ID:Do8Z1/L1a(3/9) AAS
>>100
どういうこと?
\bは単語の境界にマッチする正規表現でこれをPHPの文字列リテラルで表すには\\bにしなきゃいけないと思うんだがいつの間にか\をエスケープしなくても書けるような設定ができた?
105
(1): (アウアウウー Sa45-Rexe) 2022/10/26(水)12:39 ID:Do8Z1/L1a(4/9) AAS
>>104
???
それはそうだが結局何が言いたいんだ?
正規表現はテキストで書くから文字列リテラルでテキストを書くことになるだろ?
そしたらエスケープコードはエスケープしなきゃいけないんじゃねって話をこっちはしてるんだが
107: (アウアウウー Sa45-Rexe) 2022/10/26(水)12:42 ID:Do8Z1/L1a(5/9) AAS
もしかして\bをバックスペースコードと勘違いしてないか?
正規表現だから文字通り\とbの二文字だぞ
108: (アウアウウー Sa45-Rexe) 2022/10/26(水)12:48 ID:Do8Z1/L1a(6/9) AAS
なんかエスケープもエスケープキーのことと思ってそうで怖いわ
111
(1): (アウアウウー Sa45-Rexe) 2022/10/26(水)13:04 ID:Do8Z1/L1a(7/9) AAS
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と書かなきゃいけないはず
なのにエスケープしなくていいのか?
というのが俺の疑問

プログラマー板で話す時ってここから言わなきゃいけなかったのか
知らんかったわ
113
(1): (アウアウウー Sa45-Rexe) 2022/10/26(水)13:07 ID:Do8Z1/L1a(8/9) AAS
>>109
サンクス!
やっとわかってくれる人がいてスッキリした
バックスペースコードは無くて\が出力されるんだな
にしても公式サンプルにしちゃ行儀悪い書き方だと思うのは俺だけか
115
(2): (アウアウウー Sa45-Rexe) 2022/10/26(水)13:42 ID:Do8Z1/L1a(9/9) AAS
>>112
最近はswitchを説明してもラベルの説明はしないのか
ここにわかりやすく書いてるぞ
外部リンク:developer.mozilla.org
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ

ぬこの手 ぬこTOP 1.380s*