exclusion régulière de Golang
Golang est l'un des langages de programmation les plus populaires aujourd'hui. Il est largement apprécié et utilisé en raison de sa simplicité, de sa facilité d'apprentissage, de son efficacité et de sa rapidité. Parmi elles, les expressions régulières constituent une partie très importante et sont également largement utilisées dans la programmation Golang. Mais parfois, nous devons exclure certains résultats indésirables lors de la correspondance. Cet article explique comment utiliser les expressions régulières pour exclure les opérations dans Golang.
1. Syntaxe de base
L'utilisation d'expressions régulières dans Golang est très simple. Il suffit d'utiliser les fonctions fournies par le package regexp
pour fonctionner. Voici un exemple simple : regexp
包提供的函数进行操作。下面是一个简单的例子:
package main import ( "fmt" "regexp" ) func main() { str := "hello world, hello Golang" re := regexp.MustCompile("hello") result := re.FindAllString(str, -1) fmt.Println(result) }
运行上面的代码,输出的结果是[hello hello]
,也就是将字符串中所有匹配的字符串都打印出来。
但有时候我们并不需要所有的匹配结果,我们需要排除其中一部分。
二、在正则表达式中排除内容
在正则表达式中排除内容有两种方式:肯定后行断言和否定前行断言。
1.肯定后行断言
肯定后行断言表示只有在特定字符串后面的内容才会被匹配。例如,我们只需要排除字符串中所有以“Golang”结尾的单词,可以使用如下代码:
package main import ( "fmt" "regexp" ) func main() { str := "hello world, hello Golang" re := regexp.MustCompile(`S+?(?=sGolang)`) result := re.FindAllString(str, -1) fmt.Println(result) }
这段代码中,S+
表示一个单词,(?=sGolang)
表示该单词后面跟着一个空格和Golang
单词结尾。该正则表达式使用了肯定后行断言,就是在匹配的时候只匹配Golang
前面的单词。
运行上述代码,输出的结果是[hello world, hello]
,即所有以“Golang”结尾的单词被排除。
2.否定前行断言
否定前行断言表示只有在特定字符串前面的内容才会被匹配。例如,我们只需要排除字符串中所有以“hello”开头的单词,可以使用如下代码:
package main import ( "fmt" "regexp" ) func main() { str := "hello world, hello Golang" re := regexp.MustCompile(`(?<!hellos)S+`) result := re.FindAllString(str, -1) fmt.Println(result) }
这段代码中,(?<!hellos)
表示不匹配以“hello”开头的单词,S+
表示一个单词。该正则表达式使用了否定前行断言,就是在匹配的时候只匹配不以“hello”开头的单词。
运行上述代码,输出的结果是[world, Golang]
rrreee
[hello hello]
, c'est-à-dire que toutes les chaînes correspondantes dans la chaîne sont imprimées. Mais parfois, nous n'avons pas besoin de tous les résultats correspondants, nous devons en exclure certains. 2. Exclure le contenu dans les expressions régulières🎜🎜Il existe deux façons d'exclure le contenu dans les expressions régulières : affirmer l'assertion suivante et nier l'assertion précédente. 🎜🎜1. Assertion de suivi positive🎜🎜 L'assertion de suivi positive signifie que seul le contenu après une chaîne spécifique sera mis en correspondance. Par exemple, il suffit d'exclure tous les mots finissant par "Golang" dans la chaîne, nous pouvons utiliser le code suivant : 🎜rrreee🎜Dans ce code, S+
représente un mot, (? = sGolang )
signifie que le mot est suivi d'un espace et de la fin du mot Golang
. Cette expression régulière utilise une assertion de ligne positive, ce qui signifie qu'elle ne correspond qu'aux mots précédant Golang
lors de la correspondance. 🎜🎜Exécutez le code ci-dessus, le résultat de sortie est [hello world, hello]
, c'est-à-dire que tous les mots se terminant par "Golang" sont exclus. 🎜🎜2. Annuler l'assertion d'anticipation🎜🎜La négation de l'assertion d'anticipation signifie que seul le contenu devant une chaîne spécifique sera mis en correspondance. Par exemple, il suffit d'exclure tous les mots commençant par "hello" dans la chaîne, vous pouvez utiliser le code suivant : 🎜rrreee🎜Dans ce code, (?<! hellos)
signifie qu'il ne correspond pas aux mots commençant par "bonjour" Pour les mots commençant par "bonjour", S+
représente un mot. Cette expression régulière utilise une assertion d'anticipation négative, ce qui signifie qu'elle ne correspond qu'aux mots qui ne commencent pas par « bonjour ». 🎜🎜Exécutez le code ci-dessus, le résultat de sortie est [world, Golang]
, c'est-à-dire que tous les mots commençant par "hello" sont exclus. 🎜🎜3. Résumé🎜🎜L'utilisation d'expressions régulières pour effectuer des opérations d'exclusion dans Golang peut être réalisée en utilisant des assertions d'analyse positives et des assertions d'anticipation négatives. À travers des exemples simples, nous pouvons constater que la flexibilité des expressions régulières peut se refléter dans les opérations d'exclusion. Surtout lorsqu'il s'agit de problèmes de chaînes complexes, les expressions régulières sont sans aucun doute une solution très efficace. Dans le même temps, nous devons également prêter attention à l'examen attentif des règles de chaîne et des méthodes de combinaison d'expressions existantes lors de l'écriture d'expressions régulières. 🎜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!

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

OpenSSL, en tant que bibliothèque open source largement utilisée dans les communications sécurisées, fournit des algorithmes de chiffrement, des clés et des fonctions de gestion des certificats. Cependant, il existe des vulnérabilités de sécurité connues dans sa version historique, dont certaines sont extrêmement nocives. Cet article se concentrera sur les vulnérabilités et les mesures de réponse communes pour OpenSSL dans Debian Systems. DebianopenSSL CONNUTS Vulnérabilités: OpenSSL a connu plusieurs vulnérabilités graves, telles que: la vulnérabilité des saignements cardiaques (CVE-2014-0160): cette vulnérabilité affecte OpenSSL 1.0.1 à 1.0.1F et 1.0.2 à 1.0.2 Versions bêta. Un attaquant peut utiliser cette vulnérabilité à des informations sensibles en lecture non autorisées sur le serveur, y compris les clés de chiffrement, etc.

L'article explique comment utiliser l'outil PPROF pour analyser les performances GO, notamment l'activation du profilage, la collecte de données et l'identification des goulots d'étranglement communs comme le processeur et les problèmes de mémoire. COMMANDE: 159

L'article traite des tests d'unité d'écriture dans GO, couvrant les meilleures pratiques, des techniques de moquerie et des outils pour une gestion efficace des tests.

La bibliothèque utilisée pour le fonctionnement du numéro de point flottante dans le langage go présente comment s'assurer que la précision est ...

Problème de threading de file d'attente dans Go Crawler Colly explore le problème de l'utilisation de la bibliothèque Crawler Crawler dans le langage Go, les développeurs rencontrent souvent des problèmes avec les threads et les files d'attente de demande. � ...

Chemin d'apprentissage du backend: le parcours d'exploration du front-end à l'arrière-end en tant que débutant back-end qui se transforme du développement frontal, vous avez déjà la base de Nodejs, ...

L'article discute de la gestion des dépendances des modules GO via Go.mod, couvrant les spécifications, les mises à jour et la résolution des conflits. Il met l'accent sur les meilleures pratiques telles que le versioning sémantique et les mises à jour régulières.

Cet article présente une variété de méthodes et d'outils pour surveiller les bases de données PostgreSQL sous le système Debian, vous aidant à saisir pleinement la surveillance des performances de la base de données. 1. Utilisez PostgreSQL pour reprendre la surveillance Afficher PostgreSQL lui-même offre plusieurs vues pour surveiller les activités de la base de données: PG_STAT_ACTIVITY: affiche les activités de la base de données en temps réel, y compris les connexions, les requêtes, les transactions et autres informations. PG_STAT_REPLIcation: surveille l'état de réplication, en particulier adapté aux grappes de réplication de flux. PG_STAT_DATABASE: Fournit des statistiques de base de données, telles que la taille de la base de données, les temps de validation / recul des transactions et d'autres indicateurs clés. 2. Utilisez l'outil d'analyse de journaux pgbadg
