Regex pour la chaîne contient?

Quelle est la regex pour simplement vérifier si une chaîne contient un certain mot (par exemple 'Test')? J'ai fait quelques recherches sur Google mais je ne peux pas obtenir un exemple direct d'une telle expression rationnelle. Ceci est pour un script de construction, mais n'a aucune incidence sur un langage de programmation particulier.

74
demandé sur CJBS 2011-02-15 04:16:22

3 réponses

En supposant des saveurs regex régulières de style PCRE:

Si vous voulez le vérifier en tant que seul, mot complet , c'est \bTest\b, avec des indicateurs appropriés pour l'insensibilité à la casse si désiré et des délimiteurs pour votre langage de programmation. \b représente une "limite de mot", c'est-à-dire un point entre les caractères où un mot peut être considéré comme commençant ou se terminant. Par exemple, étant donné que les espaces sont utilisés pour séparer les mots, il y aura une limite de mot de chaque côté d'un espace.

Si vous voulez vérifiez-le comme partie du mot , c'est juste Test, Encore une fois avec des drapeaux appropriés pour l'insensibilité à la casse. Notez que généralement, les méthodes "sous-chaîne" dédiées ont tendance à être plus rapides dans ce cas, car elles suppriment la surcharge d'analyse de l'expression rationnelle.

61
répondu Michael Madsen 2011-02-15 01:31:39

Juste ne pas ancrer votre modèle:

/Test/

L'expression rationnelle ci-dessus vérifiera que la chaîne littérale "Test" se trouve quelque part dans celle-ci.

72
répondu Platinum Azure 2011-02-15 01:18:32

J'ai quelques années de retard, mais pourquoi pas ça?

[Tt][Ee][Ss][Tt]
-5
répondu user2747691 2014-07-22 16:07:50