Je veux faire correspondre des mots entiers (ou des cordes vraiment) qui ne contenant que des caractères définis.
Par exemple, si les lettres sont dans cette phrase: p> ... Je m'attendrais à faire correspondre sur < code> chien code>, d code>, o code>, g code>: p> dieu code> et o code> (pas ogd, code> en raison de la virgule ou chiens code> En raison du s code>) p> p>
4 Réponses :
La regex suivante représente une ou plusieurs occurrences des trois caractères que vous recherchez: explication: p> Les crochets signifient: " l'un des caractères ci-joints em> ". p> Le signe plus signifie: " une ou plusieurs occurrences de l'expression précédente em> " p> Ce serait la même chose: p>
Selon la langue, cela devrait faire ce dont vous avez besoin pour faire. Cela ne correspondra que ce que vous avez dit ci-dessus;
Cette regex: p> dans une chaîne de .. / p> ne correspondra que. P > exemple dans JavaScript P> < p> exemple dans php p> tout entre deux Tout entre [] code> ( Les supports) est une classe de caractères .. Il correspondra à n'importe quel caractère entre les crochets. Vous pouvez également utiliser des gammes .. [0-9] code>, [a-z] code>, etc., mais il ne correspondra que 1 caractère. Le + code> et * code> sont des quantifiers .. Le + code> recherche 1 ou plusieurs caractères, tandis que le * code> recherche zéro ou plus de caractères. Vous pouvez spécifier une plage de caractères explicite avec des crochets bouclés ( {} code>), la mise en place d'un chiffre ou de plusieurs chiffres entre: {2} code> ne correspondra que 2 caractères, tandis que < code> {1,3} code> correspondra à 1 ou 3. p> () code> par la parenthèse peut être utilisé pour rappel, disons que vous souhaitez retourner ou utiliser le Les valeurs renvoyées comme remplaçants dans la chaîne. Le ?! est un lookahead négatif, il ne correspondra pas à la classe de caractères après elle, afin de s'assurer que les chaînes avec les caractères sont
[\ w \ b,] code> est incorrect. À l'intérieur d'une classe de caractères, \ b code> correspond à un backbspace, pas une limite de mot. Pourquoi quelqu'un voudrait-il faire correspondre une backcace que je ne sais pas, mais une classe de caractères est censée consommer exactement un caractère à la fois, et la limite de mot \ b code> ne consomme rien.
Je n'étais pas au courant de cela. Fixation.
Ceci devrait fonctionner pour vous explication forte> p>
Quelle saveur / outil de regex utilisez-vous? (par exemple, JavaScript, .NET, NotePad ++, etc.) Si c'est celui qui prend en charge Lookahead et Lookbehind, vous pouvez le faire:
(?:^|\s)([dog]+)(?!\S)