-3

私は次の文字列を持っています:

abc:def    abc:ghi    abc:jkl

最初の出現が「abc:」で始まるかどうかを確認するにはどうすればよいですか? 文字列には、表 (\t) 以外のスペースはありません。これは私が必要とする結果です:

abc:def    abc:ghi    abc:jkl    // true
foo:def    abc:ghi    abc:jkl    // false
def        abc:ghi    abc:jkl    // false
abc:def    foo:ghi    jkl        // true

また、必要に応じて他の部分もチェックする必要があります。たとえば、2番目の部分を確認する必要がある場合:

abc:def    abc:ghi    abc:jkl    // true
foo:def    bar:ghi    abc:jkl    // false
def        ghi        abc:jkl    // false
foo:def    abc:ghi    jkl        // true

試しpreg_match("/abc\:([^\t]+)/",$data,$match);てみましたが、このコードはtrue、他のオカレンスに「abc:」が含まれている場合にも返されます。ありがとうございました!

編集:申し訳ありませんが、これは重複した質問ではありません。私の問題の 2 番目の部分を参照してください。この 2 番目の部分では、最初に要素を取得する方法を要求していません。PHP の startsWith() および endWith() 関数には、私の問題のこの 2 番目の部分に対する解決策がありません。ありがとうございました。

4

3 に答える 3

1

正規表現は必要ありません。次のものを使用できます。

   (strpos($string, 'abc') === 0)

abc が文字列の 0 インデックスにあることを確認します。(abc が存在しない場合は -1 を返します)

于 2013-07-30T18:23:36.390 に答える