geditでのRegex Search&Replaceの使用に関する質問


10

geditのRegex Search&Replaceプラグインを使用しようとしています。

  1. 2〜3回繰り返される数字を検索したいので、正規表現は

    [0-9]\{2,3\}

    しかし、「22」のように、本来あるべきターゲットと一致しません。

  2. 「メモ」という単語を正確に検索したいので、

    \<Notes\> 

    しかし、それも機能しません。

  3. 3桁の文字列「[0-9] [0-9] [0-9]」の前に「#」を追加する方法 たとえば、「123」は「#123」になります。

私は何か間違いをしたのだろうかと思っていましたか?Basic Regexを使用しています。プラグインで使用されているRegexのタイプは何ですか?このプラグインの使用方法を学ぶにはどうすればよいですか?

回答:


14

正規表現文字をエスケープする必要はありません。最初の例は次のようになります。

[0-9]{2,3}

2番目の例は次のようになります。

\bNote\b

3番目の状況では、前後を一致させてから、後方参照を使用する必要があります。

(.*)([0-9]{3}.*)

交換は次のとおりです:

\1p\2

詳細については、pydoc rePythonの正規表現の構文、またはオンラインドキュメントをご覧ください。


1

Keesが言うように、プラグインはPythonのreモジュール構文を使用します。これには、Pythonサイトにもハウツーがあります。

インストールしてkodosいじることもお勧めしますkodosをインストールする
これはpython正規表現テスター(それ自体を「デバッガ」と呼びます)であり、クイックリファレンスの正規表現シートとreモジュールドキュメントの短いバージョンが含まれています。

regular-expression.infoサイトでは、正規表現のメタ言語の異なる実装の素敵な比較があります。そこにもpythonフレーバーに関する適切なセクションがあります。


@igbelacqua:ありがとう!KodosはKDE用だと思います。私が正しければ、Gnomeにインストールできますが、Gnomeに他のネイティブソフトウェアがある場合は最適ではありません。あなたは先住民が何であるか知っていますか?
Tim

うーん-KodosにはQtの依存関係がありますが、私が見ることができるのはそれ自体はKDEアプリではありません。私は基本的なUbuntu(Gnome)を実行していますが、それは場違いではありません。別のオプションはkiki-それはpython-wxgtk2.6アプリケーションです-全機能ではありません。鼓動を見つける前に使った。インストールを必要としない別のテスターオプションは、pythonregex.comです。これは、Kodosに触発されたものであり、クリーンで便利です。3つの方法を使用するのがおそらく最も簡単です。
belacqua 2011年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.