Maison > développement back-end > Golang > Expression régulière pour faire correspondre les mots exactement aux limites

Expression régulière pour faire correspondre les mots exactement aux limites

WBOY
Libérer: 2024-02-12 13:10:09
avant
1117 Les gens l'ont consulté

Expression régulière pour faire correspondre les mots exactement aux limites

L'éditeur PHP Zimo est là pour vous présenter un puissant outil de correspondance de texte : les expressions régulières. Les expressions régulières peuvent être utilisées pour faire correspondre exactement les mots aux limites, nous permettant ainsi de trouver plus précisément ce dont nous avons besoin. Que ce soit dans des scénarios tels que le traitement de texte, l'extraction de données ou la validation de formulaires, les expressions régulières peuvent jouer un excellent rôle, rendant notre travail plus efficace et plus précis. Ensuite, nous examinerons en profondeur la syntaxe de base et les techniques courantes des expressions régulières pour vous aider à mieux maîtriser cet outil puissant.

Contenu de la question

J'utilise l'expression régulière golang pour faire correspondre des mots exacts avec des limites comme "pomme", "co.", je ne peux pas simplement utiliser b car le mot peut avoir des caractères non alphanumériques à la fin comme l'exemple " Entreprise"

J'essaie quelque chose comme ceci :

test := `(?i)\b(co.)(?:\s|$)`
re = regexp.MustCompile(test)
matches = re.FindAllString("co. is a secret shortcut ", -1)
Copier après la connexion

Mais cela me donnera "co.", je veux obtenir "co." directement, comment puis-je ajuster mon regex pour y parvenir.

Merci d'avance

Solution de contournement

Vous pouvez utiliser findallstringsubmatch pour accorder l'accès à votre groupe de capture :

package main
import ( "fmt"
        "regexp"
        )

func main(){
    // your code goes here
    test := `(?i)\b(co.)(?:\s|$)`
    re := regexp.mustcompile(test)
    matches := re.findallstringsubmatch("co. is a secret shortcut ", -1)
    for _, match := range matches {
        fmt.printf("'%s'", match[1])
    }
}
Copier après la connexion

Sortie :

'co.'
Copier après la connexion

démo ideone

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

source:stackoverflow.com
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal