問題タブ [recursive-regex]

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.

0 投票する
1 に答える
97 参照

php - 重複phpの配列を検索

PHP を使用してから何年も経ちましたが、私は少し錆びています。大きなファイルを開いて配列に分割し、各値で同様の出現を探す簡単なスクリプトを作成しようとしています。たとえば、ファイルは次のようなもので構成されています。

2 つの値に文字列 "apple" が含まれていることをスクリプトに自動的に伝え、"Art. 1.1 The Story of the apple" と "Art. 1.1 The apple gets eat" を返し、さらにバナナとナシも同じ。

特定の文字列を配列から検索するつもりはありません。出現回数を数えて、何をどこで返すかだけが必要です。

ファイルを開き、それを配列に分割するスクリプトを既に取得しています。類似のオカレンスを見つける方法がわかりません。

どんな助けでも大歓迎です。

0 投票する
4 に答える
199 参照

regex - 任意の量の空白で始まり、その後に文字が続く*連続した*行の一致

任意の量のスペースで始まり、その後に文字が続く連続した行を一致させようとしています|sフラグを使用しているため、.改行に一致します。

私がこれまでに持っていたものは、前に限られた量の空白で機能し|ます。

要件を満たさないラインに達したと判断する部分に問題があります。何らかの理由\n\s*[^\|]でトリックを行いません。私が今していることは次のとおりです。

これは明らかに 2 つのスペースでのみ機能します。これを任意の量のスペースで機能させたいと思います。私は再帰を調べましたが、この場合、それは非常に重い銃のようです。これが私の質問です:なぜうまくいか\n\s*[^\|]ないのですか?再帰なしでこれを解決する別の方法はありますか?


以下は、取得したい入力と結果の一致の例です。

入力文字列:

出力は、コンテンツを含む 1 つの文字列です。

その中にある各行と3回一致することは望ましくありません|

0 投票する
2 に答える
40753 参照

python - 正規表現の再帰パターン

これは、外側の括弧に一致する正規表現に非常に関連していますが、この正規表現の再帰パターンを実行する方法または可能性があるかどうかを具体的に知りたいですか? この戦略を使用した python の例をまだ見つけていないので、これは役に立つ質問だと思います!

再帰パターンを使用してバランスの取れた括弧を一致させることができるという主張 きましたが、python の正規表現パッケージを使用した例はありません(注: reは再帰パターンをサポートしていないため、正規表現を使用する必要があります)。

1つの主張は、構文がb(?:m|(?R))*eどこにあるということです:

bは構成の始まり、 は構成mの途中で発生する可能性があるeもの、 は構成の最後で発生する可能性があるものです。


次の外括弧の一致を抽出したい:

内側のブレースについても同じことが簡単にできることに注意してください。

(私の例では、finditer (マッチ オブジェクトに対して) を使用していました。こちらを参照してください。)

したがって、次の、またはいくつかのバリエーションが機能することを期待していました。

しかし、私は [] またはerror: too much backtracking.

正規表現の再帰を使用して、外括弧の一致オブジェクトを抽出することは可能ですか?


明らかに、私は撃墜される危険があります:

これは、再帰パターンの使用方法に関するものであることを強調したいと思います(私の理解が正しければ、通常の言語解析の範囲外になるため、実際に可能になる可能性があります!)。それができれば、これはよりクリーンなソリューションになるはずです。

0 投票する
0 に答える
80 参照

php - HTML テンプレートの PHP/Regex 再帰タグ

独自の PHP コードを使用して、テンプレート ファイルを HTML コードとしてレンダリングしています。再帰タグを正しく解析するには、正規表現が必要です。この例では、許可タグです。

例: テンプレート コード:

各「if」タグ内のコンテンツを正しくキャプチャしたいのですが、もちろん、ネストされたタグの問題はありません。

CSSで完全に機能する正規表現を見ました:

ただし、自分のフォーマットに変更しても機能しません。私は次のように変更しました:

動作させるには何を変更すればよいですか?

ありがとうございました。