1

私の質問は、次の正規表現を変更して、この文字列から数値を取得するだけでなく、文字列から数値を取得するにはどうすればよい160bhp,です90bhp,か?

今のところ、3 つの数字のみを取り、2 を無視します。運がなければ。

preg_match_all('/(\d{3})bhp\b,/', $str2b, $bhps);
4

4 に答える 4

0
preg_match_all('/(\d{2,3})bhp\b,/', $str2b, $bhps);

トークンを何回繰り返すことができるかを指定できる追加の量指定子があります。構文は {min,max} です。ここで、min は一致の最小数を示すゼロまたは正の整数であり、max は一致の最大数を示す min 以上の整数です。コンマが存在し、max が省略されている場合、一致の最大数は無限です。

ソース: http://www.regular-expressions.info/repeat.html

Bt も一致させたい場合は1bhp160000bhpたとえば、代わりにこれを使用します。

preg_match_all('/(\d+)bhp\b,/', $str2b, $bhps);

の左側にある任意の数の数字をキャプチャしますbhp

于 2013-10-04T18:43:25.993 に答える
0

括弧内の値を に変更するだけです{2,3}

preg_match_all('/(\d{2,3})bhp\b,/', $str2b, $bhps);

これは基本的に、一致する前の文字定義の最小/最大数を提供します。

于 2013-10-04T18:44:23.863 に答える