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

WBOY
リリース: 2024-03-21 21:34:02
転載
682 人が閲覧しました

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 までご連絡ください。
最新の問題
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート