私はRegEx
に基づいて機能のいくつかをしようとしてきたとRegEx
pattern
のいくつかは、ユーザ入力されたとして、それらのほとんどは\Q
と\E
を使用しています。リテラル区切り文字( Q Eブロック内の区切り文字)
だから、我々はdelimiter
/
を使用し、機能が/\Q/\E/
のラインの中で何かを構築するだろう/
に対してそれを一致させたいしている仮説としましょう。
/\Q/\E/
が/
と一致しない理由はわかりませんが、input
と同じ区切り文字を使用しない限り、それ以外の区切り文字は同じです。
おそらく、区切り文字はリテラルのみのブロックであり、リテラルとしてのエスケープであっても、終わりとみなされます。わからない、束をしよう。
うまくいけば、誰かがこの問題の回避策について正しい方向に私を押してくれることを願ってください。
「\ Q」と「\ E」を使用せずに、別の区切り文字を使用したり、単に「/」をエスケープするものはありませんか? –
@SebastianProske別の区切り文字を使用すると、他のデリミタを使用することもできます。また、 '\ Q'と' \ E'を使用しないことはこの場合のセキュリティ上の問題です。 TL:DR - はい、実際にはいくつかのことがあります。 – KaekeaSchmear
@SebastianProske Err、それは密であった。私はpreg_quoteが引用符だけをバックスラッシュしたと思った。申し訳ありません&ありがとう! – KaekeaSchmear