web-dev-qa-db-fra.com

Questions sur l'utilisation de Regex Search & Replace dans gedit

J'essaie d'utiliser le plugin Regex Search & Replace de gedit.

  1. Je veux rechercher un chiffre qui se répète 2 ou 3 fois, alors je pensais que la regex était

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

    Mais cela ne correspond pas aux objectifs qu’il devrait avoir, comme "22".

  2. Je veux trouver un mot "Notes" exactement, alors je pensais que ce serait

    \<Notes\> 
    

    Mais ça ne marche pas non plus.

  3. Comment ajouter un "#" devant une chaîne de trois chiffres quelconques "[0-9] [0-9] [0-9]"? par exemple. "123" devient "# 123".

Je me demandais si j'avais commis une erreur? J'utilise Regex Basic . Quel type de Regex est utilisé dans le plugin? Comment puis-je apprendre à utiliser ce plugin?

10
Tim

Vous ne devriez pas avoir besoin d'échapper à vos personnages regex. Votre premier exemple devrait être:

[0-9]{2,3}

Votre deuxième exemple devrait être:

\bNote\b

Pour la troisième situation, vous devrez faire correspondre les éléments avant et après, puis utiliser des références arrière:

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

avec le remplacement étant:

\1p\2

Pour plus de détails, voir pydoc re qui vous expliquera la syntaxe d'expression régulière Python, ou le documentation en ligne .

14
Kees Cook

Comme Kees le dit, le plugin utilise la syntaxe du module re de Python, qui a également un How-To sur le site python.

Je recommande également d'installer et de jouer avec kodosInstall kodos .
Il s'agit d'un testeur d'expressions régulières python (il s'appelle lui-même un "débogueur") et comprend une feuille de références rationnelles ainsi qu'une version abrégée de la documentation du module re.

Le site-expression.info permet une comparaison intéressante des différentes implémentations de méta-langues d'expression régulière. Il y a aussi une section décente sur la saveur python.

1
belacqua