タグ付けされた質問 「regular-expressions」

検索または置換文字列を指定するパターン用です。「regex」または「regexp」とも呼ばれ、パターンは検索または置換時に一致する文字列を記述します。Emacsは多くのコマンドで `regex`パターンの広範なサポートを提供します。Emacsはまた、そのようなパターンのためのインタラクティブな式ビルダーを提供します。

1
数値の垂直列を小数点に揃える
この投稿はEmacsで書きました。テーブルの見栄えをよくするために、小数がきれいに並ぶように間隔を調整することにしました。データベースの元の形式は次のようになります。 emacs 11505 227 3.6 3.3 1.9 68.9 93.5 68 vi 1087 289 11.1 6.9 2.9 71.7 96.2 9 wolfram-mathematica 2993 360 4 2.2 1.9 66.7 92.5 51 それはかなり近いですが、私は列を右揃えにし、すべての桁が一列に並ぶようにします。4番目の列は次のようになります。 3.6 11.1 4 私はと遊ん整列コマンドと、自動的に(オプション)小数点にテーブルを整列する方法を見つけることができませんでした。何らかの理由で、これらの命令は何も整列させることができません: を使用して、小数点を基準にして数字を並べることもできM-- M-x alignます。

1
正規表現一致リテラル文字列
任意の文字列を受け取り、その文字列のみに一致する正しくエスケープされた正規表現を生成する関数を作成したい(または既存の関数を使用したい)。これを行う最も速くて簡単な方法は何ですか?


1
正規表現でシンボルを一致させる方法は?
現在のメジャーモード設定に従って、シンボル、つまり関数名などに一致する正規表現を構築しようとしています(正しく覚えている場合は、構文テーブルと呼ばれます)。調査の結果、これらの有用な正規表現が見つかりました。 \_< シンボルの始まりに一致 \_> シンボルの終わりに一致 次に、記号構成文字を表す方法を見つける必要があると思います。我々は持っている\w単語構成文字のために、私はシンボルのための何かを見つけることができません。シンボルに一致する正規\s表現は、次のようになります(シンボル構成文字に一致すると想定)。 \_<\s+\_> 何か不足していますか?シンボルを一致させる方法は? 単語のマッチングは機能しません。些細な例はfoo-bar、Emacs Lispモードのシンボルのようなものですが、単語で-はありません(単語を構成する文字ではないため)。

1
文字列内の正規表現の特殊文字をエスケープする方法は?
複雑な正規表現を作成していて、ユーザーが表現の一部を指定できます。ただし、ユーザー指定の部分は文字どおりに解釈する必要があります。つまり、正規表現の特殊文字はエスケープする必要があります。これらのキャラクターをエスケープする機能はありますか?当たり前のことのようですが、私のグーグルはすべて失敗しました。 例: (re-search-forward (format "\b%s\b" user-string)) もしそうなら、私user-stringはtest*case一致したいが、そうではtest*caseないtestttttcase。


1
「任意の文字」の最もパフォーマンスの高いマッチング
上https://www.emacswiki.org/emacs/MultilineRegexp 1は、使用にヒントを見つけます [\ 0- \ 377 [:nonascii:]] * \ n 標準の代わりに 。* \ n 巨大なテキスト(37 KB)のスタックオーバーフローを回避するために、改行までの任意の文字を照合します。ここでのオーバーフローは懸念事項ですか、それとも前者のマッチング実行は後者よりもパフォーマンスが高いですか?

3
AUCTeXのマルチファイルプロジェクトを検索して置換しますか?
私は、LaTeXドキュメントを含め、私が書いているすべてのもので使用する唯一のエディタとしてEmacsを採用しようとしています。私はその目的にかなり役立つWYSIWYGエディター、つまりTexStudioまたはTXSから来ました。TXSからEmacsへの移行について、TXSが大規模な正規表現クエリ検索を実行する方法と、プロジェクトに関連する.texファイルのみへの検索の一致と制限を強調表示に置き換える方法がまだありません。Emacsで今はそれがとても恋しいです。以下のTXSのスクリーンショットを参照してください。 マルチファイルLaTeXプロジェクトでのTeXStudioクエリ Emacsで実現するワークフローのポイントを強調したいと思います。 RegExpクエリの検索と置換は、プロジェクト関連の.texファイルでのみ行われます。 試合のハイライト ハイライト表示された結果の概要をまとめて扱いやすいレイアウトで表示します(MagitEmacsでを押しlて別のキーを押すlかC-x d、Diredモードと同じように 押すと、ログビューに似ています) 実行された、または残った置換または検査の一致の量を知る方法、およびクエリを停止する不器用なキーストロークによってクエリが壊れた場合にクエリを再開する方法 すべての関連ファイルを閉じて保存し、このクエリを呼び出す前の状態に戻すことにより、この乱雑なクエリをクリーンな方法で解消します 私はこの投稿を読みましたが、私の意図はCW、誰もが彼の最良のワークフローを共有して、この一般的な仕事を成し遂げることができるようになることです。私の現在のアプローチは次のとおりです: 最初のワークフロー Diredモード% gは、その正規表現を含むすべてのファイルをマークします。短所:これには、非.texファイルを含む、プロジェクトに関係のないファイルも含まれます。 C-x 3 新しいバッファで個別に照会する必要のあるマークされたファイルの方向の概要として最初のバッファを監視しながら、新しいバッファを開きます によるクエリの実行C-c q。確認!せずにすべてを置き換えるなどの非常に優れたスイッチがあり、開いているファイル内の一致を強調表示します。しかし、これはマークされたすべてのファイルに対して毎回同じクエリを実行する必要があることを意味します。 マークされたすべてのファイルを実行した後C-x s !、1回のキーストロークですべてを保存するためにヒットしました。ふew! 2番目のワークフロー-推奨 .texファイル% mのみをマークするために、direxpモードでregexp を使用してすべてのファイルにマークを付けると.tex、基本的に実行\.texすると、そこに移動します。 C-x 3 上記と同じように、1つのバッファを概要用に、もう1つのバッファをクエリ用に保持します QクエリであるDired内で実行すると、マークされたファイルでのみ正規表現を置き換えます。あるいはA、正規表現検索クエリのみです。本格的なクエリが実行され、ヘルプメニュー?が提供さ れます C-x s !すべての混乱を保存して閉じます。そうしないと、開いているファイルを1つずつ閉じなければならず、面倒です。私たちが気になったものだけを閉じる方法があるといいのですが。 マルチファイルでTXSの正規表現検索/置換クエリを概算するにはどうすればよいですか? 注意 Windows 7上のEmacs 24.4

2
フレーズ/正規表現を含む行のみを表示
現在のバッファから、フレーズを含む、または正規表現に一致するすべての行を表示したいと思います。例: 私のバッファ: dam madam madam this is da m a dam 1 dam 2 dam pi dam 321:) is dam 2? を探していdamます。結果: dam madam dam 1 dam 2 dam pi dam 321:) is dam 2? 同じバッファ。正規表現を探しています:^dam\s\d。結果: dam 1 dam 2 dam 321:) これどうやってするの?



弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.