問題タブ [pcre]
For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.
php - これらの正規表現パターンは何に一致しますか?
私はPHPの正規表現に不慣れで、基本的なパターンを理解していますが、以下のパターンは少し複雑で、次のパターンが何に一致するかを理解していません。
誰か説明してもらえますか?
ありがとう。
regex - perl スタイルの正規表現で文字列の残りを照合する
perl スタイルの正規表現 (PCRE) で「既知の部分 (未知の単語) (文字列の残り)」を一致させるにはどうすればよいですか?
regex - リクエストパラメータを解析するための正規表現
次の形式の文字列を解析する単一の perl 互換正規表現を探しています。
param1=値1&...¶m2=値2&...
param1 と param2 のみの値を抽出します。しかし
- param2 は param1 に先行する場合があります
- param1 または param2 がない場合があります
- param1 または param2 (または両方) は、空の値を持つことができます。つまり、param1=&...
c++ - PCRE正規表現の任意の数の単語を文字列に一致させる
私はいくつかの正規表現解析に PCRE を使用しており、特定のパターン (コンマで区切られた単語の文字列内のすべての単語としましょう) の単語を文字列で検索し、それらを文字列ベクトルに入れる必要があります。
どうすればそれを行うことができますか?
c++ - PCRE でのマッチング順序
PCRE 正規表現で照合する順序を設定するにはどうすればよいですか?
ユーザーが指定できる動的正規表現を使用して、文字列から 2 つの値を抽出し、それらを 2 つの文字列に格納します。ただし、2 つの値が逆の順序で文字列に含まれる場合があるため、最初の (\w+) などを 2 番目の文字列に格納する必要があります。
regex - 正規表現で一致を反転
PCRE では、文字列が見つからない場合にのみ一致する式をどのように構築できますか。
grep を使用していた場合 (私はそうではありません)、-v オプションが必要です。
foo
より具体的な例: 文字列が文字列内にない場合に、正規表現を一致させたいとします。したがって、 would には一致しますが、 には一致bar
しませんfoobar
。
php - POSIX を PHP 用の PCRE に変換するユーティリティはありますか?
POSIX を PHP 用の PCRE に変換するユーティリティはありますか? 私は PCRE に関する PHP のマニュアルにやや混乱しています。PCRE に関する詳細情報を見つけようとしていますが、誰かがそのようなユーティリティを設計したかどうか疑問に思っていました。
または、次の変換方法を誰かが説明してくれれば、それも問題ありません。
しかし、変換を教えてくれるだけでなく、それがどのように行われたかを説明してください.
c - IIRF(Cプログラム、ISAPI)でのスタックオーバーフロー
私はIIRFを使用しています-きれいなURL用のISAPI書き換えフィルターです。私はこれらの問題について開発者から多くの助けを得ることができませんでした。このダンプの意味を理解して、コード内の問題のある領域を見つけて自分で再構築できるようにしたいと思っています。私はCにあまり詳しくありませんが、回避することはできます。ダンプから何か有用なものを引き出すために、デバッグシンボルを使用してこれを構築する必要がありますか?
これらのスタックオーバーフロー例外は、ライブの本番Webサーバーで発生しているため、デバッグモードを使用してこのコードにステップインすることはできません。何が起こっているのかというと、アプリケーションプールプロセス(w3wp.exe)が次のエラーイベントを受信しています。
アプリケーションプール「dotNETプール」にサービスを提供するプロセスで、World Wide WebPublishingServiceとの致命的な通信エラーが発生しました。プロセスIDは「6924」でした。データフィールドにはエラー番号が含まれています。
誰かが私がこのデータを理解するのを手伝ってもらえますか?これは、IISデバッグ診断ツールからのダンプです。どうすればそれを解釈して例外の原因を見つけることができますか?サードパーティのPCRE正規表現ライブラリ内では例外のようです。
WARNING - DebugDiag was not able to locate debug symbols for IsapiRewrite4.dll, so the information below may be incomplete.
In w3wp__PID__3760__Date__06_23_2009__ Time_01_29_55PM__916__Second_Chance_Exception_C00000FD.dmp the assembly instruction at IsapiRewrite4!pcre_exec+12f9 in C:\IIRF1.2.15R5\IsapiRewrite4.dll has caused a stack overflow exception (0xC00000FD) when trying to write to memory location 0x00fc2be8 on thread 5
このデバッグプロセスの更新
IISデバッグ診断ツールを調整してより多くの情報を提供した後、原因を見つけたと思います。次のようなURLを見つけました。SQLインジェクション攻撃に似ているように見えますが、SQLインジェクションではないと思います。
[original_url]/Forum+Result:+%E8%F1%EF%EE%EB%FC%E7%EE%E2%E0%ED+%ED%E8 %EA%ED%E5%E9%EC+%22Rifsadasy%22;%EF%E8%EA%F2%EE%EA%EE%E4+%E4%E5%F8%E8 %F4%F0%EE%E2%E0%ED;%E7%E0%F0%E5%E3%E8%F1%F2%F0%E8%F0%EE%E2%E0%EB%E8%F1 %FC+100%25+%28%E2%EA%EB%FE%F7%E5%ED+%F0%E5%E6%E8%EC+%F2%EE%EB%FC%EA%EE +%F0%E5%E3%E8%F1%F2%F0%E0%F6%E8%E8%29;
誰かがこのタイプの攻撃を見たことがありますか?彼らはそれが何であるか知っていますか?HEX、Base64などを使用してこれをデコードしようとしましたが、このASCIIテキスト以外は何も思いつきません。
èñïîëüçîâàí+íèêíåéì+"Rifsadasy";ïèêòîêîä+äåøèôðîâàí;çàðåãèñòðèðîâàëèñü+100%+(âêëþ÷åí+ðåæèì+òîëüêî+ðåãèñòðàöèè);
php - 複数行の正規表現で改行をキャプチャするためのトークンはありますか?
PHP と preg* 関数を使用して HTML スクレイピングを行おうとしたときに、この問題に何度か遭遇しました。
ほとんどの場合、次のような構造をキャプチャする必要があります。
特に、私はこのようなものが欲しいです:
しかし、\n\nは機能しないようです。
一般的な改行スイッチはありますか?