2017-01-24 15 views
1

は、PHPのpreg_match_allを使用して、この文字列を処理するために、正規表現を見つけようとして:PHP正規表現ヘルプ - マッチ何か=「何か 'sの」エスケープ単一引用符

include='Track Ass\'y' 

正規表現は、単一の処理することができる必要がありOR二重引用符で囲み、エスケープ引用符で区切ってはいけません。現在の場所での正規表現は次のようになります。

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

これは、上で壊し「とだけ単一引用符まで一致し、最終的にYをミス」。助けて?

+0

iが=に爆発し、ちょうどそれが原因であなたの怠惰なマッチ 'の' y'前に停止しています – nogad

+1

第二の部分の最初と最後のcharcterを削除しますが ' 。 2番目の疑問符を削除してください: '(。*)' –

+0

@Chinそれを解決しました。これを答えとして入れて選びますか? –

答えて

1

遅延一致のためyより前に停止しています?

2番目の疑問符削除:?

(.*) 
2
([^ ]*?)=["|'](.*?)(["|']\w['|"]) 

..works:

enter image description here

try using a webtoolあなたの正規表現をデバッグします。

+1

は、OPにregex 101をリンクするつもりだった。 – Jhecht

+1

OPはすでにRegex 101とRegexrを使用していますが、正規表現のビットと部分があいまいになっている場合にのみ役立ちます。 –