Expression régulière pour trouver et remplacer dans Microsoft Word

Je souhaite supprimer les marques de tête et de retour des noms de pays.
Dans mon exemple, ces balises sont <li> et <a> .

 <li><a href="http://afghanistan.makaan.com/">Afghanistan</a></li> <li><a href="http://albanie.makaan.com/">Albanie</a></li> <li><a href="http://algérie.makaan.com/">Algérie</a></li> 

Le résultat devrait être:

 Afghanistan Albanie Algérie 

Dans Microsoft Word, je souhaite utiliser la fonction Rechercher et remplacer pour l'accomplir avec une expression régulière.

Comment puis-je utiliser des expressions régulières dans MS Word?

Au lieu de copier votre texte de saisie sur Word, copiez-le dans Notepad ++ ou tout autre éditeur avec un support RegEx complet.

Une chaîne RegEx pour sélectionner tout en dehors des balises ou tout entre > et < signes serait.

 (?<=>).*?(?=<) 

Entrez la description de l'image ici

  • (?<=>) Est un regard derrière . Il recherche des signes et agit comme ancre. De cette façon, vous pouvez exclure la chaîne de recherche, ce qui est important car vous ne voulez pas <Afghanistan
  • .*? Est un quantificateur paresseux et sélectionne tout jusqu'à l'expression suivante
  • (?=<) Recherche un signe < mais exclut le signe recherché lui-même. Tout comme le regard derrière

Mais vous ne souhaitez pas sélectionner les noms de pays. Vous souhaitez supprimer toutes les étiquettes. Vous avez besoin de l'opposé de la première expression régulière. Quelque chose comme

 <.*?> 

Entrez la description de l'image ici

  1. Boîte de dialogue de recherche et de remplacement Open Notepad ++
  2. Sélectionnez Utiliser des expressions régulières
  3. Trouvez ce que: <.*?>
  4. Remplacer par: rien

C'est facile à utiliser dans MS Word Find and Replace , sans Regex, sans JavaScript, etc.

Si vous échappez à un support, il trouve le caractère de parenthèse réel. Ainsi, avec les caractères génériques activés, l'expression \<*\\> trouvera tout entre les crochets. Remplacez-le simplement par rien.

Cela ressemble à ce dont vous avez besoin.

Compte tenu du dernier commentaire (que vous voulez juste dans javsacript) – Je regarderais quelque part comme ici

Si vous le souhaitez dans une base de données SQL, je voudrais simplement écrire quelques lignes de perl pour vous donner la liste du javascript brut. Autant que je puisse le dire; Le mot MS ne vient pas.

Je n'utiliserais pas trouver / remplacer pour cela. Il serait plus simple d'utiliser "Text to Columns" dans Excel pour cette tâche. Pour le faire, sélectionnez la colonne qui contient le texte, accédez au ruban "Données" et sélectionnez "Texte vers les colonnes". Vous devrez le faire deux fois, une fois pour supprimer tout le texte avant le nom du pays (le symbole délimité serait ">" – assurez-vous de supprimer les colonnes extérieures pour éviter toute confusion) et une fois pour supprimer le texte après le nom (délimité Le symbole serait "<").