0

PHP ファイルからすべての文字列を抽出できる 1 つの正規表現を作成しました。たとえば、"abc.php" があり、そこにあるすべての文字列 (タグ " ' を含む) を抽出したい。独自の正規表現を作成しましたが、一部の文字列が一致または重複しませんでした。

注:私の意図は、ここに投稿することと同じです-> PHP: Regex to match the following string samples

しかし、そのスレッド内の agent-j の回答も一部の文字列と一致しませんでした。

基本的に、これは私の正規表現です

/[\"|\'][^.\/\"](.*?)[^,\\][\"|\']/

ここで写真の問題..

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

ここに画像の説明を入力

私もagent-j正規表現を使用しようとしましたが、彼の正規表現は複数行の文字列を照合するときに問題があります。

彼の正規表現

(['"])((?:\\\1|(?!\1).)+)\1

この正規表現の問題

ここに画像の説明を入力

4

2 に答える 2

0

ファイル全体に任意のロジックを正規表現で一致させるために私が見つけた最も簡単な方法は、使用することでした

$something_better = explode(''',$something);

このようにして、より簡単に評価できるデータの配列を取得します。私は、毎回思い通りにマッチできることを保証したいときはいつでも、このコンセプトを使用しています。

ここで私がすることは、一重引用符の間の情報を分解して抽出し、そこから必要なものに一致させてから、一重引用符で内破することです。二重引用符も必要なので、二重引用符を分解してプロセスを繰り返すことができます。

私の経験では、すべての問題を 1 つの単純なステートメントで正規表現することは非常に困難です。できれば小分けにしたほうがいいです。エラーの余地が少なくなります。

于 2013-05-08T12:08:13.457 に答える
0

誰も私の問題を解決していないように見えます。私は友人の助けを借りてこの問題を自分で解決しました。これは私が探していた正規表現です。

/([\"\'])(?:(?=(\\\\?))\\2.)*?\\1/s
于 2013-05-09T07:19:22.143 に答える