問題タブ [pcregrep]
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.
regex - 特定のキーワードから数字の最初の出現を見つけるための正規表現
私は文字列を持っています
「ZTFN00 識別番号は 89320394 で、携帯電話番号は +918017828848 です」
そして、キーワード ZTFN から最初に出現する数字 (この場合は89320394 )を特定したいと考えています。また、式は ZTFN で 00 を返さず、最初に出現した番号のみを返します。
やってみ\d+(?!ZTFN00)
たけどダメ!!
提案してください
regex - Bash: 複数の行で同時に正規表現マッチングを行い、キャプチャしたコンテンツを抽出する
次の形式のxmlファイルがあります
内部タグのいずれかの値が YYY である starttag の名前属性をすべて抽出したいと考えています。
したがって、上記のファイルでは、出力は AAA と CCC になります。正規表現一致のみを使用できます。先読みを使用することは可能ですが、複数行の正規表現パターンを作成することはできないと思います。私は単一行に正規表現を使用する方法を知っています。これも同じように使用しようとしましたが、期待される出力が得られませんでした。誰でもこれで前進します。
編集:私はxmlの例を入れましたが、実際には複数行の正規表現の一致を知りたいと思っており、失敗しているこのファイルを試しています。XML 解析関連のソリューションは避けてください。
更新:スティーブンの提案に従って、以下が機能しました
c++ - pcre c ++でプレグマッチオール
こんにちは、これは私の弦です
php
私はpreg_match_all
( )を使用してプロセスpcre
を開始していますregex
今、私は c++ に pcre をインストールしました。私の php コードと等しい c++ pcre の正確なプロセスを知りたいですか? php のように機能する c++ pcre の正確な機能は何preg_match_all
ですか?
grep - なぜpcgrepはgrepよりも速いのですか?
centos OS に大きなテキスト ファイル (3 GB レール ログ ファイル) があり、このテキスト ファイルのバイトが破損しています。grep を使用してパターンを検索しようとすると、無期限に実行され、閉じる必要がありますが、pcgrep を使用すると 1 分もかからないため、この違いの理由は何ですか?
grepを使用した私の検索:
pcregrep を使用:
regex - で始まるテキストを含むファイルを見つける方法
使ってみた
と
しかし、このコマンドは、すべてのテキストではなく行頭に 'asdasd' があるファイルを見つけました。次に例を示します。
ファイルの内容:
次のファイル コンテンツのみを含むファイルを検索したい:
(すべてのテキストの先頭にある asdasd)
regex - Bash: バッククォート内の正規表現
次のような「align_summary.txt」というファイルがあります。
bash シェルで、すべての左揃えの読み取り (この場合は 2.1) の中で、複数の配置の割合を引き出したいと考えています。
私がこれを使用する場合:
すぐに出力が得られます:2.1
ただし、同じ式を次のようにバッククォートで囲むと:
エラーが表示されます:
私が理解しているように、この式をバッククォートで囲むと、バックスラッシュでエスケープされているにもかかわらず、「(」記号を含む正規表現の解釈に影響します。
これが発生する理由と、このエラーを回避する方法を教えてください。
ご意見やご提案をいただければ幸いです。
どうもありがとう、
regex - 複数行の正規表現 - 最後の一致の最後まで行をスキップする方法
たとえば、ファイルには次のようなものがあります。
キーワード「KEYWORD」を含む各ログ エントリのすべての行を抽出する必要があります。これに対応する正規表現 (pcgrep を使用) は次のとおりです。
これで問題なく動作し、期待どおりに次のように出力されます。
では、何が問題なのですか?...まあ、正規表現がどのように機能するかは、そのログ エントリ (1 ~ 4 行目) を照合した後、正規表現エンジンが 2 行目から再度照合を試み始めるため、正規表現エンジンは不必要に 2 行分をトラバースするということです。 2 番目のログ エントリの先頭から一致を開始するまでに文字数が変化します。これは時間の無駄のように思えます。代わりに、最後の一致が終了した場所、つまり 5 行目から続行する必要があります。
\G
正規表現の先頭 ( の後) に配置するとこれが解決すると思いました(?s)
が、そうではありません。
誰か賢いアイデアを持っていますか?
regex - 正規表現スキップワード
正規表現を使用して、文字列の最初の単語と最後から 2 番目の文字を抽出したいと考えています。
たとえば、文字列で
キャプチャしたい
多分これに似た何か
どんな助けでも大歓迎です。
sed - テキストファイル内の PGP ブロック (ASCII アーマード) を取り除く
時折 PGP のブロックが散在するマークダウンとしてフォーマットされたファイルが与えられた場合、シェルスクリプトで標準の Linux ツールを使用して PGP ブロックを削除するにはどうすればよいですか?
ファイルはこの要点のようになります
(フォーマットの問題のため、要点を作成する必要がありました)