0

次のエラーメッセージから2番目の''を正規表現したいと思います。

Duplicate entry 'this_can_be_anything' for key 'I_want_to_grab_this'

私はphpを使用していますが、正規表現がどのように機能するかについては非常に漠然とした考えを持っています。または、正規表現の代わりに他のものを使用する必要がありますか?何か方向性はありますか?ty。

4

2 に答える 2

1

簡単に:

preg_match('/Duplicate entry \'.+\' for key \'(.+)\'/', $s, $m);と使用$m[1]

$m

array(2) {
  [0]=>
  string(68) "Duplicate entry 'this_can_be_anything' for key 'I_want_to_grab_this'"
  [1]=>
  string(19) "I_want_to_grab_this"
}
于 2013-02-26T13:49:47.197 に答える
0

これはうまくいくはずです:

$yourstring = 'Duplicate entry...';
if (preg_match("=^[^']*'[^']*'[^']*'([^']*)'=", $yourstring, $matches)) {
    echo "Found value: " . $matches[1];
}

ただし、これは次の形式の行と一致します。

Something 'something' something 'something'

あなたがそれを望むかどうかわからない。そうでない場合は、k102 による回答に従ってください。

于 2013-02-26T13:50:07.213 に答える