2017-06-27 5 views
0

私はpreg_match()を使ってファイルを検索し、結果を表示しています。フルストリングマッチの代わりにキャプチャグループにアクセスするには?

私が持っている私のファイルで

city 1 | address 1 | phone 1 
city 2 | address 2 | phone 2 
city 3 | address 3 | phone 3 

私は例えばaddress 1を検索する場合、それは私のフルラインが表示されます。

「アドレス1」のみを表示する方法はありますか?

+1

あなたのコードを表示し、それと間違っているかを説明してください。 –

+0

「住所1」を検索して「住所1」を返したいのですが? –

+0

私はリスト 'アドレス554'のどこかにいるとしましょう。 | 私は554を検索して、完全な|住所554 | – qqq123

答えて

0

サブパターンを使用する必要があります。あなたはこれらのブラケットを使用して正規表現でサブパターンを置くことができます間

() 

すべてはあなたのサブパターンであるとの一致がある場合には、マッチを使って配列に追加されます。これに

$subject = 'thiswhatiamlookingforallday'; 
preg_match('/.*whatiamlookingfor.*/', $subject, $matches); 
print_r($matches); 

は、これを比較し

$subject = 'thiswhatiamlookingforallday'; 
preg_match('/.*(whatiamlookingfor).*/', $subject, $matches); 
print_r($matches); 

は、それはあなたのやっているかのヒントを与える必要があります。

-1

と一致すると思いますが、と一致しますか?

一致が指定されている場合は、検索結果が入力されます。 $ matches [0]にはフルパターンに一致するテキストが含まれ、 $ matches [1]は最初に取り込まれた のサブパターンに一致するテキストを持ちます。

http://php.net/manual/en/function.preg-match.php

+0

質問についての明確化を求めてマニュアル参照を提供するときは、コメントではなく答えてください。この質問は、正確な回答を提供するために必要な詳細が不足しています。 – mickmackusa

関連する問題