質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

Q&A

解決済

2回答

1612閲覧

正規表現 改行を検出できるかできないか( ^ と $ ー\A と \z )

reotantan

総合スコア295

PHP

PHPは、Webサイト構築に特化して開発されたプログラミング言語です。大きな特徴のひとつは、HTMLに直接プログラムを埋め込むことができるという点です。PHPを用いることで、HTMLを動的コンテンツとして出力できます。HTMLがそのままブラウザに表示されるのに対し、PHPプログラムはサーバ側で実行された結果がブラウザに表示されるため、PHPスクリプトは「サーバサイドスクリプト」と呼ばれています。

0グッド

0クリップ

投稿2017/05/04 17:11

編集2017/05/04 17:12

^ と $ ー\A と \z の違いが分かりません。
正規表現において^ と $は行の先頭、末尾
\A と \zでは文字列の先頭、末尾という説明で、
前者は改行を検出できず、後者はできるという話がありました。
なぜ前者では、改行を検出できないのでしょうか

回答宜しくお願いします

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

回答2

0

ベストアンサー

例えば以下のような改行を含む文章があったとします。

今日はいい天気
明日も晴れ

行の先頭は「今」と「明」
文字列の先頭は「今」
行の末尾は「気」と「れ」
文字列の末尾は「れ」
です。

多分、正規表現によるバリデーション関連で出てきたのだと思います。
こちらが参考になります。
正規表現によるバリデーションでは ^ と $ ではなく \A と \z を使おう

投稿2017/05/04 17:35

退会済みユーザー

退会済みユーザー

総合スコア0

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reotantan

2017/05/05 02:15

回答ありがとうございました
退会済みユーザー

退会済みユーザー

2017/05/05 04:15

php で正規表現を使用する場合は、パターン修飾子にも注意が必要です。 http://php.net/manual/ja/reference.pcre.pattern.modifiers.php パターン修飾子 m で ^ と $ は挙動が変わります。 マニュアル以上の説明がうまく出来ないので、マニュアル見て理解できない場合、改めて識者に質問をしてみて下さい。
guest

0

"あいうえお\nかきくけこ\n"という文字列があったとして、^は、の前との前の2カ所にマッチして、$の後ろとの後ろと最後の改行の後ろの3カ所にマッチします。
\Aは、の前だけにマッチし、\zは最後の改行の後ろ(文字列末尾)だけにマッチします。

\A と \zでは文字列の先頭、末尾という説明で

は合ってますが、

正規表現において^ と $は行の先頭、末尾

$は間違っています。$は行の末尾および文字列末尾にマッチします。

なぜ前者では、改行を検出できないのでしょうか

\A\zはその定義が、行と関係ないからです。

投稿2017/05/04 23:32

otn

総合スコア84557

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

reotantan

2017/05/05 02:16

回答ありがとうございました
guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問