問題タブ [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.

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

regex - PCRE 正規表現の空白

/etc/samba/smb.conf からすべての非コメント行と非空行を取得する正規表現を作成しようとしています。コメントは、次の行です。

  1. 皮切りに #
  2. 皮切りに ;
  3. 任意の量の空白で始まり、直後に # または ; が続きます。

以下を試してみましたが、コメントタイプ3を適切に処理できませんでした。

これは、3種類のコメントすべてで機能しました。

\s を文字クラスに追加すると、コメント タイプ 3 が正常に除外された理由を説明できますか?

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

regex - Ruby regexp を使用して HTML コンテンツから URL を抽出するにはどうすればよいですか?

説明するのは簡単ではないので、例を直接見てみましょう:

上記のコンテンツで、javascript:show('f6a1ok3n4d4p','random%20strings%204',%20'site2.com') から抽出したい

文字列「f6a1ok3n4d4p」と「site2.com」を次のようにします

http://site2.com/f6a1ok3n4d4p

javascript:show('zsgn82c4b96d','random%20strings%204',%20'site1.com') も同じになります

http://site1.com/zsgn82c4b96d

Ruby正規表現で行う必要があります

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

c++ - この正規表現が pcregrep では一致するのに、C++ コード内では一致しないのはなぜですか?

私は完全に動作する正規表現を持っていますpcregrep:

今、この正規表現を C++ コードに含めようとしましたが、一致しません (エスケープが含まれています):

私はこのような関数本体を見つけようとしています(段落は0a16進数です):

なぜpcregrepC++ コード内では機能しないのですか?

0 投票する
3 に答える
548 参照

sed - 複数の行にまたがるワイルドカードを検索して置換しますか?

次のようなテキストを入力したいと思います。

これを取得します:

これまでのところ、sed、grep、およびpcregrepを使用して読み、いじりましたが、機能させることができませんでした。おそらく Vim でそのようなことを行うことができるように見えますが、Vim を使用したことがないので、王様の痛みのように見えます。

私が試したことは次のとおりです。

これらのコマンドを正しく使用していないだけなのか、それとも間違ったツールを使用しているのかはわかりません。ターミナルを使用して、行にまたがるワイルドカードを見つけて置き換える方法がないとは信じがたいです。

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

cygwin - Cygwin で pcgrep をインストール/有効にする方法は?

Cygwin に関するこの SO の質問に対する一番上の回答で指定されているように、pcgrep を使用しようとしています。私の環境は、Cygwin V 1.7.20(0.266/5/3) を実行する Win7 64bit です。

私が得る使用cygcheck -p pcregrep

このチュートリアルにあるpcregrep のインストール手順を使用してみましたpatchが、cygwin のインストールには含まれていないようです。このチュートリアルは、 SO Question 1SO Question 2という私のものと同じ行に沿ったこれら 2 つの SO の質問を通じて見つけられ、 それらを引用して、関連する質問セクションに表示されます。 この man ページは、cygwin に存在できることを示していますが、その man ページを実行しようとすると、次のようになります。

私のcygwinインストールにはpcgrepのライブラリが存在するようですが、ユーティリティにアクセスするためにそれらをコンパイル/抽出/有効にする方法がわかりません。実行しようとすると、bash から標準のコマンドが見つからないという応答が返されます。

私の質問は次の とおりです。pcgrepを使用できるようにするには、cygwinで何をすればよいですか?

処理するログ ファイルが何万もあるので、どのように処理すればよいかわかりません。2 つの行の間の行数によって、それぞれに関連する 3 つの行を見つける必要があります。これらの行の文字列とその上の「ヘッダー」行は、正しいセンサー タイプ情報が続くことを示しています (1 つのログに複数のセンサー データが存在する可能性があり、特定のセンサー データ セットを使用する必要があります)。pcgrep のインストール方法が分からない場合 (この仕事に完全に適していると思われます)、データを基に根本的な質問をします。

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

bash - 入力コマンド引数が複数行の場合、BASH for ループでどの IFS を使用すればよいですか?

forループの反復ごとに、pcgrepの単一の完全な複数行の結果を変数に格納したいと考えています。

元:

ただし、個別のpcgrep結果をそれぞれ適切に認識して変数に格納できるIFSを使用する必要があるかどうかはわかりません(反復ごとに1つの結果)。

また、目標を達成するための他のラウンドアバウト手段を聞くこともできます(IFSが関係していなくても)

以下は、私が使用するいくつかのサンプル結果です。

結果 1:

結果 2:

前もって感謝します