Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
phppreg_matchを使用して、以下を構成する部分文字列をキャプチャしたいと思います。
preg_match
数値文字を含む、文字列をキャプチャしてはなりません。
この例は近いですが、数値文字を含む文字列もキャッチします。
preg_match("/([\p{L} -]+)/u", $string)
同様の質問にはすでに回答がありましたが(上記のもの)、うまくいきません...
私があなたの問題を正しく理解している場合 (私にはわからないかもしれません)、単に^ と$文字を使用して、「一致はここで開始し、一致はここで終了する」ことを指定する必要があります。
^
$
/^([\p{L} -]+)$/u ^ ^
次にpreg_match、文字列に他に何もない場合にのみ true を返します。
デモ
編集:
ハイフン/スペースが途中でのみ許可されている場合:
/^([\p{L}](?:[\p{L} -]+[\p{L}])?)$/u