No.2ベストアンサー
- 回答日時:
preg_match_all("/'([^'\\\\]|\\\\\\\\|\\\\')*?'/",$src,$matches);
まず、 " " で囲んだ文字列の中の ' はエスケープ不要です。
正規表現で、\ 自身を表すためには \\ とする必要がありますが、\\ を引用符で囲まれた文字列で表すためには、\\\\ と書きます。
同じように"で囲んだ正規表現で \\ という文字列を表すのは \\\\\\\\ となります。
上記は ' で以下のものを囲んだ文字列にマッチします。
(1) ' でも \ でも無い文字
(2) \\ で \ 自身を表す
(3) \' で ' を表す
分かり易くご説明いただきましてありがとうございます。
¥マークの羅列に一瞬びっくりしましたが、
そのような規則があるとは知りませんでした。
大変参考になりました。ありがとうございますm(_ _)m
No.1
- 回答日時:
シングルクォーテーションで囲まれた'You\'re pen'のような文字列にマッチするというだけなら、
preg_match_all("/'(.*)'/", $src, $matches);
preg_match_all("/'(.*?[^\\\\])?'/", $src, $matches);
などの様なものが考えられますが、正確な条件が分からないと答えられないかと。
下記のことはどうなりますでしょうか?
・\が前に付いたシングルクウォートはどう扱うか?
・取得したい文字列は一つか複数か?
・入力文字列に制限は有るか?
また、例えば、入力が「a\'b'c'd'e\'f'g\'h」でしたら、期待される結果はどうなりますか?
お礼遅くなり申し訳ありません。
ご回答いただきましてありがとうございます。
条件があいまいで大変お手数をおかけしてしまいました。
やりたいことは、PHPソース中のシングルクォートまたはダブルクォートで挟まれた文字列部分を全て抜き出すということでして、それは
$str = '123';
の'123'ようなものから、
$ary['abc']
の'abc'まで含みます。
ですので、a\'b'c'd'e\'f'g\'hといったケースは起こりえないという
ことになります。
初歩の初歩でつまずいておりましたので、まずは単純なご質問をさせていただきました。もし何かまたご意見いただけそうでしたらよろしくお願いしますm(_ _)m
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- PHP preg_matchで Warning: Undefined variableが出ます 1 2022/11/15 17:06
- オープンソース csvデータのダブルクォーテーションで囲まれた文字内にあるカンマを削除したい 3 2022/09/02 15:17
- その他(プログラミング・Web制作) VB.NETの正規表現について 4 2022/04/12 16:54
- その他(プログラミング・Web制作) テキストエディタで複数行にわたる文字列の行頭に番号を振る方法 4 2023/03/11 12:57
- PostgreSQL 数値が定期的にあらわれる文字列から、いくつめに出現した数値が指定して切り出したい 1 2023/06/08 13:12
- その他(コンピューター・テクノロジー) 正規表現の置換で一部の文字列をそのまま残したい 2 2022/05/03 19:19
- Excel(エクセル) PHPプログラムをエクセルに張り付けると検索ボックスがでてくる! 3 2022/05/08 07:10
- PHP if(preg_match("/[^0-9]/",$gu_d)){意味を教えてください。 1 2022/05/06 05:37
- PHP SQLとPHPの連結方法がわからないのでアドバイスお願い致します 1 2022/07/12 12:16
- 英語 文法は正しいでしょうか。 ① It costs you so much. 費用がかかる。 It co 3 2022/08/27 17:15
このQ&Aを見た人はこんなQ&Aも見ています
関連するカテゴリからQ&Aを探す
このQ&Aを見た人がよく見るQ&A
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
preg_matchでエラーが出ます。
-
preg_matchで Warning: Undefin...
-
preg_match関数で4-16桁の英数...
-
VBAを使ってHTMLソースから特定...
-
、"(ダブルクォーテーション)...
-
PHPで あるフォルダ内の、特定...
-
Excelで数字のみを2倍3倍にする...
-
正規表現で特定のHTMLタグのク...
-
eval
-
文字列中の任意の数字を換算
-
正規表現パターンの記入方法に...
-
PHPで変数から1行目だけを取得...
-
カンマ区切りの金額を検索する...
-
URLを抽出する正規表現
-
配列にある文字と文字列との一...
-
PHP preg_matchでUnknown modif...
-
日本語の文字列のみをURLエンコ...
-
VBAのコマンドボタンの文字列の...
-
COBOLの改行
-
ソースコードの1行が長いとき...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
preg_matchでエラーが出ます。
-
VBAを使ってHTMLソースから特定...
-
Excelで数字のみを2倍3倍にする...
-
PHPで変数から1行目だけを取得...
-
正規表現でシングルクォーテー...
-
、"(ダブルクォーテーション)...
-
正規表現で「0」のみ抽出
-
住所から特定の文字列、数値を...
-
PHPで あるフォルダ内の、特定...
-
phpでhtmlソースを解析し、文字...
-
PHPで<a>タグ内からURLと文字を...
-
正規表現で特定のHTMLタグのク...
-
PHPの正規表現で住所を分けるに...
-
Smartyを使用した、テンプレー...
-
PHPによるIPアドレスマッチ
-
正規表現で、半角大文字と半角...
-
php 正規表現で(ただし○○は除...
-
PHPメールフォーム URLと半角...
-
「半角数字」と「+」を許可する...
-
preg_matchでのマッチが正しく...
おすすめ情報