文字列の配列があります。
(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
)