0

ここにサンプルテキストがあります-

display_errors = On
display_errors= Off
display_errors = On

last の値を抽出したいと思いdisplay_errorsます。それ、どうやったら出来るの?

これまでのところ、display_errors =(?!.*display_errors = )一致できるものはありdisplay_errors =ますが、キーではなくその値が必要です。

とのマッチングに libpcre を使用しています。すべてのオプションに一致

.ini 解析ライブラリではなく、正規表現を使用する必要があることに注意してください。

4

2 に答える 2

1

次のことを試してください。

display_errors\s*=\s*([a-zA-Z]+)(?!.*display_errors\s*=)

display_errors値が文字であると仮定すると、キーの最後の値と一致する必要がありますa-z(ただし、受け入れ文字リストは必要に応じて簡単に更新できます)。

于 2012-08-11T08:13:12.377 に答える
0

テキストを改行で分割し、次のような正規表現で各行をループします。

display_errors ?= ?(On|Off)

わずかなエラーをキャッチするために、大文字と小文字を区別しないでコンパイルします。最初のグループの値をキャプチャして、その一致からステータスを取得します。ループの各反復で、現在のステータスで変数を上書きするだけです。ループが終了した後、変数には最後のdisplay_errorsの値が含まれます。

于 2012-08-11T08:12:48.590 に答える