Ruby regex ne gsub magasin à quoi il correspond?
Si j'utilise
.gsub(/matchthisregex/,"replace_with_this")
ne gsub magasin ce qu'il correspond à l'expression rationnelle quelque part? Je voudrais utiliser ce qu'elle correspond à ma chaîne de remplacement. Par exemple quelque chose comme
"replace_with_" + matchedregexstring + "this"
dans mon exemple ci-dessus où la matchedregexstring seraient stockées match de gsub? Désolé si c'est confus, je ne sais pas comment d'autre mot.
OriginalL'auteur Tommy | 2013-04-05
Vous devez vous connecter pour publier un commentaire.
De la beaux-manuel:
Si vous n'avez pas de soins sur les groupes de capture (c'est à dire des choses comme
(expr)
dans la regex) alors vous pouvez utiliser la forme de bloc et$&
:Si vous avez des groupes de capture, alors vous pouvez utiliser
\n
dans la chaîne de remplacement:ou
$n
dans le bloc:Tu veux dire que le supplément de barres obliques inverses, à droite? #*&#$ Markdown, voir mon $-backtick variable pour plus de plaisir comme ça 🙂 Oui, vous avez besoin de dire
\\1
si vous utilisez des guillemets mais\1
est très bien si vous utilisez des guillemets simples (que j'ai toujours fais, si j'ai besoin d'interpolation).Oui,
\
pas `. Je n'avais pas remarqué. Je pense que les commentaires pourraient le faire avec un aperçu parfois.OriginalL'auteur mu is too short
Pour toutes les versions rubis: moyen Simple d'obtenir la chaîne correspondante.
OriginalL'auteur devudilip
J'ai découvert ici que gsub matchs, pourrait en fait être consulté par le biais de la
Regexp.last_match
variable (classe MatchData) comme ceci:Pour donner un exemple concret, si vous souhaitez vous connecter tous les matchs, il peut être utilisé comme suit:
Dans votre cas particulier, vous pourriez faire quelque chose comme ceci:
OriginalL'auteur clami219