文字列の配列があります。
(102) Name3
(####)で始まる文字列を照合して、行のName部分を簡単に取得するにはどうすればよいですか。動作しない次のことを試しています。
if(preg_match("/(d+)/", $myArray[$i], $matches))
文字列の配列があります。
(102) Name3
(####)で始まる文字列を照合して、行のName部分を簡単に取得するにはどうすればよいですか。動作しない次のことを試しています。
if(preg_match("/(d+)/", $myArray[$i], $matches))
予想される入力文字列に含まれる括弧をエスケープする必要があります。
if(preg_match("/\((\d+)\) (.+)$/", $myArray[$i], $matches))
それが次の正規表現です。
/
正規表現の開始 (これは任意の文字にすることができますが、通常は / です)\(
キャラクター ((
グループ 1 のキャプチャを開始します\d
任意の桁+
前の試合、1回以上)
キャプチャ グループ 1 の終了
空間(
グループ 2 のキャプチャを開始します.
ほぼすべてのキャラクター+
前の試合、1回以上)
グループ 2 のキャプチャを終了します。$
文字列の終わり/
正規表現の終わり (最初の文字と一致する必要があります)regular-expressions.infoでよりわかりやすい定義を見つけることができます。
上記の場合、一致には次のものが含まれます。
array(
'(123) input string',
123, // capturing group 1
'input string' // capturing group 2
)