私は名前フィールドを持っており、検証したいので、最初の文字は名前のアルファベットでなければなりません。私はこれを持っていますが、最初の文字として " - "を許可します。preg_match文字列はアルファベット文字で始まる必要があります
preg_match("/^([a-z -])+$/i", $str)
おかげ
私は名前フィールドを持っており、検証したいので、最初の文字は名前のアルファベットでなければなりません。私はこれを持っていますが、最初の文字として " - "を許可します。preg_match文字列はアルファベット文字で始まる必要があります
preg_match("/^([a-z -])+$/i", $str)
おかげ
特異的であるが、より良いオプションです。しかし、あなたはまた、アサーションを使用することができます。
preg_match("/^(?![- ])([a-z -])+$/i", $str)
(?!..)
が最初occuringから文字を除外することができます。 (?=\w)
のような肯定的なアサーションを使用することもできます。
preg_match("/^[a-z][a-z -]+$/i", $str)
私はlookbehindアサーションが '(?<!)'と '(?<=)'だと思います。 – BoltClock
@BoltClock:それは本当は見た目ではありませんが、ルックカレントです。それはすぐに*以下の*文字をここにアサートします – mario
これは先読みbtwと呼ばれています。 http://www.pcre.org/pcre.txt – chx