ホームページ >バックエンド開発 >PHPチュートリアル >PHP はマスクに一致しない文字列の長さを返します
php エディターの Banana さんは、特定のマスクを満たさない文字を文字列から削除する必要がある場合があると指摘しました。そのためには、PHP のいくつかの関数を使用する必要があります。この記事では、PHP 関数を使用して、マスクに一致しない文字列の部分を除外し、文字列の長さを計算する方法を紹介します。具体的な導入方法を見ていきましょう!
PHP はマスクに一致しない文字列の長さを返します
php では、preg_match()
関数を使用して、指定されたパターン (マスク) に一致する文字列の部分を照合できます。マスクに一致しない文字列の長さを返すには、次の手順を実行します。
preg_match()
一致文字列:
preg_match()
この関数は、指定された文字列を 正規表現 パターンと照合しようとします。一致するものが見つかった場合は 1 を返し、キャプチャしたグループを $matches
array に保存します。 $mask = "/[a-z] /"; // 小文字に一致する正規表現 preg_match($mask, $string, $matches);
preg_match()
が 0 を返した場合、一致が見つからなかったことを意味します。この時点では、文字列全体がマスクと一致しません。 strlen()
関数を使用して文字列の長さを取得できます。
で一致が見つかった場合、
$matches[0] にはマスク全体に一致する文字列が含まれます。
strlen() 関数を使用して長さを取得できます:
最後に、次のコードは上記の手順を実装します:
function getNonMatchingLength($string, $mask) { if (preg_match($mask, $string, $matches) == 0) { strlen($string) を返します。 elseif (preg_match($mask, $string, $matches) > 0) { $matching_length = strlen($matches[0]); $non_matching_length = strlen($string) - $matching_length; $non_matching_length を返します; } それ以外 { 0を返します。 } } $string = "これは数字以外の文字を含む文字列です。"; $mask = "/[0-9] /"; // 数値と一致する正規表現 $non_matching_length = getNonMatchingLength($string, $mask); echo "一致しない部分の長さ: $non_matching_length";
出力:
不一致部分の長さ: 41
以上がPHP はマスクに一致しない文字列の長さを返しますの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。