ホームページ  >  記事  >  バックエンド開発  >  PHP は、文字列内のマスクに一致する最初の文字列の長さを返します。

PHP は、文字列内のマスクに一致する最初の文字列の長さを返します。

WBOY
WBOY転載
2024-03-21 21:31:06685ブラウズ

php エディタ Xigua は、返された文字列内の特定のマスクに一致する部分文字列を見つけて、その長さを計算する方法という一般的なニーズを紹介します。この問題は文字列処理と論理判断を伴うものですが、PHP の組み込み関数と簡単な操作で簡単に実装できます。次に、この要件を達成するために PHP を使用する方法を詳しく見てみましょう。

PHP の文字列内のマスクに一致する最初の部分文字列の長さを取得する

php では、preg_match() 関数を使用して、指定されたマスクに一致する文字列内の最初の部分文字列を取得し、その長さを返すことができます。構文は次のとおりです:

int preg_match(string $pattern, string $subject, array &$matches = null, int $flags = 0, int $offset = 0): int
###で:###

    $pattern
  • : 照合するマスク パターン。
  • $subject
  • : 検索対象の文字列。
  • &$matches
  • : 一致結果を保存するために使用されるオプションのパラメーター。
  • $flags
  • : パターンに一致するフラグ (オプション、デフォルトは 0)。
  • $offset
  • : 検索を開始するオフセット (オプション、デフォルトは 0)。
  • マスクに一致する文字列内の最初の部分文字列の長さを取得するには、以下の手順に従います。

マスク パターンを定義します:
    照合する文字列に従ってマスク パターンを記述します。たとえば、英数字文字列と一致させるには、
  1. [a-zA-Z0-9] を使用します。
  2. preg_match()
  3. 関数を呼び出します。 preg_match() 関数を使用して、マスクに一致する文字列内の部分文字列を検索します。例えば:### $string = "これはサンプル文字列です。"; $mask = "[a-zA-Z0-9] "; $matches = []; preg_match($mask, $string, $matches);
一致結果を取得します: 
一致が成功した場合、
    $matches
  1. 配列には、一致した部分文字列が含まれます。最初に一致した部分文字列は $matches[0] に保存されます。 部分文字列の長さを返します:
  2. $matches[0]
  3. の長さを取得します。これは、初めてマスクに一致する部分文字列の長さです。 完全なコード例は次のとおりです:
  4. function get_first_matching_substring_length($string, $mask) { $matches = []; if (preg_match($mask, $string, $matches)) { strlen($matches[0]) を返します。 } それ以外 { -1 を返します。 } } $string = "これはサンプル文字列です。"; $mask = "[a-zA-Z0-9] "; $length = get_first_matching_substring_length($string, $mask); echo "最初に一致する部分文字列の長さ: $length";

出力例:

最初に一致する部分文字列の長さ: 4 注意する必要があるのは:

文字列内にマスクに一致する部分文字列がない場合、

preg_match()

関数は 0 を返しますが、その場合は -1 が返されます。
  • $flags パラメータを使用すると、大文字と小文字の区別や複数行の一致など、追加の一致オプションを指定できます。

以上がPHP は、文字列内のマスクに一致する最初の文字列の長さを返します。の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

声明:
この記事はlsjlt.comで複製されています。侵害がある場合は、admin@php.cn までご連絡ください。