1

複数の可能な区切り文字で文字列を分割する必要があります

$output = preg_split( "/(\^|+)/", "54654561^uo_sgzg@zrgher.com" );

->( "54654561"、 "uo_sgzg@zrgher.com")

$output = preg_split( "/(\^|+)/", "54654561+ghkkgzg@zrgher.com" );

->( "54654561"、 "ghkkgzg@zrgher.com")

しかし、この正規表現"/(\^|+)/"は失敗します:PHP Warning: preg_split(): Compilation failed: nothing to repeat at offset 3何らかの理由で、しかしそれはこの答えに基づいていますPhp複数の区切り文字が爆発します

これは機能してい$output = preg_split("/[\^|+]/", "54654561^MYMED_sgzg@zrgher.com" );ますか?複数の区切り文字で分割する正しい方法ですか?

編集:申し訳ありませんが、このように機能していることに気づきました$output = preg_split("/(\^|\+)/", "54654561^MYMED_sgzg@zrgher.com" );

4

1 に答える 1

0

一致させようとしているのが単一の文字である場合、私は実際に[\^\+]オプションを選択します。

デモ: http: //ideone.com/ftXSS

構文は文字クラスまたは文字セットと呼ばれ、特に[]必要なことを実行するように設計されています。

「文字クラス」は、いくつかの文字のうち1つだけに一致します。aまたはに一致させるにはe、を使用します[ae]。これを使用して、またはのいずれかgr[ae]yに一致させることができます。graygrey

http://www.regular-expressions.info/quickstart.html

于 2012-08-09T11:32:19.587 に答える