問題タブ [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 投票する
9 に答える
1019 参照

regex - Boolean を bool に置き換える正規表現

最近 X/Motif から Qt に移動された C++ コード ベースに取り組んでいます。Boolean (X から) をすべて bool に置き換える Perl スクリプトを作成しようとしています。スクリプトは単純な置換を行うだけです。

いくつかの条件があります。

1) コードに CORBA があり、\b は CORBA::Boolean に一致しますが、これは変更しないでください。
2) 文字列 (つまり、「ブール値」) として見つかった場合は一致しないはずです。

更新しました:

#1 では、後読みを使用しました

#2 では、先読みを使用しました。

これは私の状況ではうまくいく可能性が高いですが、次の改善はどうですか?

3) 文字列の途中にある場合は一致しません (thanks nohat )。
4) コメントの場合は一致しません。(// また /**/)

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

javascript - Javascriptで正規表現一致のn番目のインスタンスを置き換える

他のインスタンスに影響を与えることなく、文字列内の一致の単一のインスタンスを識別して置き換える正規表現関数を作成しようとしています。たとえば、次の文字列があります。

この文字列を取得するには、パイプの2番目のセットをアンパサンドに置き換えたいと思います。

正規表現関数は、x個のパイプを処理でき、n番目のパイプセットを置き換えることができる必要があるため、同じ関数を使用してこれらの置換を行うことができます。

パイプで文字列を分割/置換/連結するだけでよく、結果の配列を照合して反復処理できることも知っていますが/\|\|/、次のような単一の式を記述できるかどうかを知りたいと思います。これを行う。これはJavascriptの場合であるため、を使用して実行時に正規表現を生成することeval()は可能ですが、Perl固有の正規表現命令を使用することはできません。

0 投票する
5 に答える
1597 参照

regex - grep を使用して壊れた NMEA ログ文を見つけるにはどうすればよいですか?

私の GPS ロガーは時折、ログ ファイルの最後に「未完成」の行を残します。最後までだと思いますが、念のため全行確認したいと思います。

サンプルの完全な文は次のようになります。

$行は記号で始まり*、2 文字の 16 進チェックサムで終わる必要があります。チェックサムが正しいかどうかは気にしません。存在するだけです。チェックサムがなく、すべてのファイルの先頭にある「ADVER」文も無視する必要があります。

次の Python コードが機能する可能性があります。

grepまたはawk何か簡単なものでそれを行う方法はありますか?grepどうすれば自分のやりたいことができるようになるのか、まったくわかりません。

更新: @Motti と @Paul に感謝します。次のようにして、ほぼやりたいことを実行できましたが、機能する$前に一重引用符を使用して末尾を削除する必要がありました。

さらに 2 つの疑問が生じます。空白行を無視するにはどうすればよいですか? そして、最後の 2 つの s を組み合わせることができgrepますか?

0 投票する
25 に答える
280521 参照

javascript - プレーンな URL をリンクに置き換えるには?

以下の関数を使用して、特定のテキスト内の URL を照合し、それらを HTML リンクに置き換えています。正規表現はうまく機能していますが、現在は最初の一致のみを置き換えています。

すべての URL を置き換えるにはどうすればよいですか? execコマンドを使用する必要があると思いますが、その方法がわかりませんでした。

0 投票する
12 に答える
143557 参照

php - datetime (2008-09-01 12:35:45) の正規表現パターンは何ですか?

DateTime (2008-09-01 12:35:45) の正規表現パターンは何ですか?

次のエラーが表示されます。

終了区切り文字 '^' が見つかりません

使用:

このエラーが発生します:

警告: preg_match() [function.preg-match]: コンパイルに失敗しました: 19 行目の E:\www\index.php のオフセット 0 で繰り返すものはありません

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

php - HTMLタグの内容を取得するには?

ねえ、私がやりたいのは、最初の段落のコンテンツを引っ掛けることです。文字列$blog_postには、次の形式の多数の段落が含まれています。

私が直面している問題は、最初の<p>タグと最初の終了</p>タグの間のすべてを取得する正規表現を書いていることです。ただし、最初の<p>タグと最後の終了</p>タグを取得しているため、すべてを取得しています。

これが私の現在のコードです:

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

regex - 一意の部分文字列に一致する正規表現

これは、私が覚えることができなかった基本的な正規表現のテクニックです。かなり一般的な正規表現の実装 (grep または grep -E など) を使用しているとしましょう。.styファイルのリストを作成して、またはで終わるファイルに一致させる場合.cls、どうすればよいでしょうか?

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

regex - (C) 関数呼び出しに一致する正規表現

Cプログラムで関数呼び出しを一致させるための正規表現を持っている人はいますか?

0 投票する
5 に答える
5103 参照

c# - 正規表現によるログ ファイルの解析

現在、内部ログ ファイル (log4php、log4net、および log4j によって生成される) のパーサーに取り組んでいます。これまでのところ、ログを解析するための適切な正規表現がありますが、厄介な点が 1 つあります。一部のログ メッセージは複数の行にまたがっており、適切に一致させることができません。私が今持っている正規表現はこれです:

ログ形式 (パーサーのテストに使用) は次のとおりです。

今パーサーを実行すると、ログが始まる行だけが得られます。複数行にまたがるように変更すると、1 つの結果 (ログ ファイル全体) しか得られません。


@サムジャドソン:

RegexOptions.Singleline フラグを正規表現に渡す必要があるため、「.」改行を除くすべての文字 (デフォルト) だけでなく、すべての文字に一致します。

私はそれを試しましたが、ファイル全体に一致します。また、メッセージグループを .+? に設定しようとしました。(貪欲ではない)が、それは単一の文字に一致します(これは私が探しているものでもありません)。

問題は、メッセージのパターンが日付グループにも一致することです。そのため、改行で改行されない場合、メッセージは延々と続くだけです。


現在、メッセージ グループにこの正規表現を使用しています。ログメッセージの開始と同じパターンがログメッセージにない限り、機能します。

0 投票する
6 に答える
3293 参照

regex - IPを評価する方法は?

文字列がIPアドレスであるかどうかを確認するにはどうすればよいですか?IPv4またはIPv6のどちらか?

最小および最大の文字数はいくつですか?

これは正規表現の答えになると思います。