Les expressions régulières (souvent abrégées en «regex») sont des expressions écrites dans un langage déclaratif utilisé pour faire correspondre des modèles dans des chaînes.
J'ai un fichier avec un tas de valeurs par défaut de l'utilisateur. Je veux changer une partie du texte, mais j'ai du mal à trouver un matcher et un remplaçant. En utilisant l'exemple suivant: ############################################################################### # Trackpad, mouse, keyboard, Bluetooth accessories, and input # ############################################################################### # Trackpad: enable tap to …
J'ai rencontré de nombreuses situations dans vim où il serait utile d'avoir des déclarations de contournement. J'ai essayé d'utiliser la syntaxe de recherche standard ( (?=), (?!)etc.) , mais il semble que vim ne le supporte pas. Vim a-t-il une syntaxe équivalente pour ces types d'instructions?
J'essaie d'utiliser une expression régulière pour remplacer le texte dans un fichier (remplacez une URL complète par juste protocole / domaine /): :%s/\(https\?:\/\/.*?\/\).*/\1/gc Malheureusement, .*?ne correspond pas à la chaîne, même en essayant d'échapper au ?quantificateur? Comment échapper un quantificateur non gourmand dans vim?
J'ai un fichier avec le caractère ã(minuscule a + tilde combinant). Encodinget fileencodingsont les deux utf-8. gaspectacles <a> 97, hex 61, octal 141 <~> 771, Hex 0303, Octal 1403 (mais avec le tilde combinant réel dans le <>) et g8montre 61 + cc 83 Recherche avec des /a\%u0303œuvres bien. La …
J'ai du mal à apprendre les expressions rationnelles de vim (je ne connais pas très bien d'autre expression régulière), donc le problème principal est de définir une expression rationnelle qui correspondrait some_function_call(simple_value, keyword=value) dans cet exemple. Il doit donc correspondre à un mot s'il se trouve à l'intérieur de parens …
De :h E65nous pouvons voir que Vim n'autorise pas plus de 9 groupes de capture dans une commande de substitution. Par exemple, la commande suivante fonctionnera: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)/\9\8\7\6\5\4\3\2\1 Mais celui-ci avec un autre groupe de capture échouera: s/\v(a)(b)(c)(d)(e)(f)(g)(h)(i)(j)/\10\9\8\7\6\5\4\3\2\1 Ma question n'est pas de savoir pourquoi elle échoue (c'est une limite stricte …
De nombreuses syntaxes d'expression régulière des outils Unix sont souvent les expressions régulières de base et étendues codées POSIX (BRE et ERE, respectivement) et, dans certaines implémentations modernes, de style Perl (PCRE étant une implémentation de cela). Existe-t-il une correspondance biunivoque entre les niveaux de magie de Vim et ces …
J'ai une ligne comme celle-ci: function my_function(argument, another argument, but there are spaces) Je veux remplacer les caractères d'espace (à l'intérieur des noms de l'argument) par un trait de soulignement. Je voudrais donc utiliser: :s/\ /_/g mais comment puis-je choisir de ne pas l'appliquer à toute la ligne, mais à …
Dans Vim, la classe de caractères \scorrespond à n'importe quel caractère d'espacement. Lorsque j'utilise ces caractères spéciaux dans des groupes, par exemple, [\s\w]il ne correspond à aucun espace blanc ou caractère de mot, il correspond à sou w. Comment utilise-t-on les classes de caractères à l'intérieur des groupes?
Si j'ai une expression rationnelle magique de Vim dans un littéral de chaîne, existe-t-il un moyen de convertir l'intégralité de l'expression régulière en une représentation alternative qui utilise un mode magique différent, afin que je puisse coller cette expression régulière équivalente dans le code source? Par exemple, si je veux …
Nous savons tous que, lors de la recherche, \nest un saut de ligne et \run retour chariot ( ^M), mais lorsque le remplacement \rest un saut de ligne alors que \nest un octet nul ( ^@). Quelle est l'origine de cette asymétrie? Étant donné que ce comportement est ... pour …
J'ai obtenu un fichier texte brut avec des colonnes de valeurs séparées par des espaces. Comme ça: AU 3030 .... ... .... AU 3031 .... ... .... AU 3032 .... ... .... AU 3033 .... ... .... IT 48100 ... .. ..... IT 40100 ... .. ..... IT 48123 ... …
J'ai un fichier de configuration répétitif et je voudrais faire correspondre une expression régulière et supprimer une plage de lignes avant et après une correspondance. Je voudrais également supprimer la correspondance dans une seule commande. Je peux utiliser... :g/match/-1d ... plusieurs fois pour supprimer plusieurs lignes avant un match ... …
Existe-t-il un moyen pour que vim ne marque pas les URL HTTP et les adresses e-mail comme des fautes d'orthographe? Ou, plus généralement, un moyen de répertorier les expressions rationnelles d'orthographes valides?
J'ai une liste de fichiers: ./a.temp.txt ./a.temp.txt ./a/b.temp.txt ./a/b.temp.txt ./a/b/c.temp.txt ./a/b/c.temp.txt Et je veux supprimer le temp.sur chaque ligne, mais seulement la deuxième occurrence , ainsi, le fichier devrait ressembler à: ./a.temp.txt ./a.txt ./a/b.temp.txt ./a/b.txt ./a/b/c.temp.txt ./a/b/c.txt Comment dois-je procéder?
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.