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

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

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

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

Q&A

解決済

2回答

4804閲覧

PHP preg_match('/(?=.*[a-z])の?=の意味がわかりません

marimokomokmOk

総合スコア52

PHP

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

1グッド

0クリップ

投稿2017/05/12 09:54

preg_match('/(?=.[a-z])(?=.[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}/', $password)
の意味がわかりません。
?=とはなんでしょうか。

<?='hello';?>はhelloと出るのはわかります。

.→任意の一文字
X*→0文字以上のX

preg_matchの?=ってなんでしょうか。

php:password

1<p>パスワードを入力してください。</p> 2<p>(8文字以上で、英小文字、英大文字、数字を各1文字以上含むこと)</p> 3<form action="password-output.php" method="post"> 4<input type="password" name="password"> 5<input type="submit" value="確定"> 6</form>

php:password

1<?php 2$password = $_POST['password']; 3// if(preg_match('/^[a-zA-Z0-9]{8,}$/', $password)){ 4if(preg_match('/(?=.*[a-z])(?=.*[A-Z])(?=.*[0-9])[a-zA-Z0-9]{8,}/', $password)){ 5 echo "正しい"; 6}else{ 7 echo "正しくない"; 8} 9?>
zonoji👍を押しています

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

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

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

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

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

guest

回答2

0

PHPの正規表現で分からないことがあったら、PHPのマニュアルの正規表現の部分を見ましょう。
http://jp2.php.net/manual/ja/reference.pcre.pattern.syntax.php

もし、マニュアルの説明で分からなかったら、正規表現についての基本的な理解が不足していると言うことなので、「正規表現入門」のような書籍やサイトを読むのが良いと思います。

投稿2017/05/12 13:34

otn

総合スコア84499

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

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

guest

0

ベストアンサー

preg_match() ではなく「先読み」とよばれる正規表現のひとつです。

今回の例では、小文字アルファベット・大文字アルファベット・数字を含む8文字以上の文字列をチェックするために使っているようです。

たとえば (?=.*[a-z])これ以降のどこかにa〜zの文字が含まれることを指定します。

参考: 「英数記号あり(大文字小文字の区別なし)で、かつ8文字以上」の正規表現 - Qiita

投稿2017/05/12 10:34

編集2017/05/12 10:40
miyahan

総合スコア3095

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

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

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

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

ただいまの回答率
85.48%

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

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

質問する

関連した質問