このディレクトリの索引
http://hibari.2ch.net/test/read.cgi/php/1168450843/326
#  PHP 正規表現 
#   
#  PHPの正規表現を勉強しているのですが、どうもうまくいきません。今回は一番簡単な正規表現をつくったのですが、どうやったらよいのでしょうか。 
#   
#  $h = '(名前)様の会員IDは(abc12)で、(5)番目に偉い方です。'; 
#   
#  とあったら、名前、会員ID、番号を抜き出すには、どのようにしたらよいのでしょうか? 
#  実際に()は使用しません。 
#  また、$1 や $2 などを使いたいのですが、解説までできればお願いしたいです。 
#  一応自分なりに考えました。 
#  preg_match('/^*.([a-zA-Z0-9]){2}([0-9]+)','名前$2.ID$1 $3 番目に偉い'); 
#  ()を使えば、2つマッチさせたいときなどに分けることができるのでしょうか?  
#  (名前)様は(数字) 
#  例:太郎様は5 
#   
#  このとき太郎様という日本語の文字を取得するには/^(+.)([0-9])$/ 
#   
#  ここで名前は$1になり、数字は$2になるのでしょうか? 
#  どのような時に$1や$2がどっちがどっちなのかは、どのようにしたらわかるのでしょうか? 
#   
#   
#  長々した質問すいません。わかるかた教えてください。 
# 

'(名前)様の会員IDは(abc12)で、(5)番目に偉い方です。とあったら、名前、会員ID、番号を抜き出すには、どのようにしたらよいのでしょうか? 実際に()は使用しません。 '(_名前,_会員ID,_n番目) :-
        _文字列 = '名前様の会員IDはabc12で、5番目に偉い方です。',
        '名前、会員ID、番号を抜き出す'(_文字列,_名前,_会員ID,_n番目).

'名前、会員ID、番号を抜き出す'(_文字列,_名前,_会員ID,_n番目) :-
        split(_文字列,[様の会員IDは,'で、',番目に],[_名前,_会員ID,_n番目|_].