J'ai besoin de trouver la regex pour [] p>
Pour par exemple, si la chaîne est - HI [Stack], voici ma [tag] que j'ai besoin de [trouver]. P>
Il devrait retourner Stack, tag, trouver p>
5 Réponses :
assez simple, vous avez juste besoin de (1) échapper aux supports avec des barres obliques backslashes, et (2) utilisez (. *?) code> pour capturer le contenu. string regex = @"\[(.*?)\]";
string text = "Hi [Stack], Here is my [Tag] which i need to [Find].";
foreach (Match match in Regex.Matches(text, regex))
{
Console.WriteLine("Found {0}", match.Groups[1].Value);
}
\[([\w]+?)\] should work. You might have to change the matching group if you need to include special chars as well.
Cela fonctionne un peu plus bien que la réponse actuellement marquée, car elle permet de mieux contrôler des choses comme ceci: «Testez [Test] [Test] [Test]« La réponse étiquetée comprendra la STRAY [dans le match, tandis que cette regex ne sera pas.
Selon quel environnement vous voulez dire:
\[([^\]]+)]
Ah, .net ... c'était une regex d'Emacs. :-)
Je pense que vous avez manqué un ] code> même dans la syntaxe EMACS.
J'ai pris la liberté de le changer en un .Net compatible. Notez que le ] code> ne doit que s'échapper à l'intérieur du jeu de caractères, pas en dehors de celui-ci (bien que cela ne fait pas mal de s'échapper ...).
syntaxe .NET, prenant soin de plusieurs supports incorporés: P>
Ceci compte le nombre de sections d'ouverture \ [((((?: \\. | (? [ code> dans Ouvrir code> et ne réussit que si Ouvrir code> est 0 à la fin. P>
J'ai rencontré un problème similaire et j'ai découvert que cela fait aussi l'astuce.
\[\w{1,}\]
Sur quelle plate-forme? Dans quel langage de programmation?
ASP.NET. J'utilise Regex.Amatch ()
Peut-il y avoir des matchs imbriqués:
foo [bar [Baz]] effectué code> où vous souhaitez saisirbar [baz] code>? Ou peut-êtrefoo [bar \\] baz] effectué code> où vous souhaitez saisirbar] baz code>? Peut-il y avoir de nouvelles lignes entre[ code> et] code>?