Maison> développement back-end> Golang> le corps du texte

Comment trouver la première sous-chaîne correspondant à une expression régulière Golang ?

PHPz
Libérer: 2024-06-06 10:51:00
original
717 Les gens l'ont consulté

La fonction FindStringSubmatch trouve la première sous-chaîne correspondant à une expression régulière : cette fonction renvoie une tranche contenant la sous-chaîne correspondante, le premier élément étant la chaîne entière correspondante et les éléments suivants étant des sous-chaînes individuelles. Exemple de code : regexp.FindStringSubmatch(text, pattern) renvoie une tranche de sous-chaînes correspondantes. Cas pratique : Il peut être utilisé pour faire correspondre le nom de domaine dans l'adresse email, par exemple : email := "user@example.com", pattern := @([^s]+)$ pour obtenir la correspondance du nom de domaine[ 1].

如何找出 Golang 正则表达式匹配的第一个子字符串?

Comment trouver la première sous-chaîne correspondant à l'expression régulière Golang ?

Lorsqu'il s'agit de correspondance d'expressions régulières dans le langage Go, nous pouvons utiliser la fonctionFindStringSubmatchpour trouver la première sous-chaîne correspondante. Cette fonction renvoie une tranche contenant la sous-chaîne correspondante. Le premier élément est la chaîne entière correspondante, tandis que les éléments suivants sont les sous-chaînes individuelles de la correspondance.FindStringSubmatch函数来找出匹配的第一个子字符串。该函数返回一个包含匹配子字符串的切片。第一个元素是整个匹配字符串,而随后的元素是匹配的各个子字符串。

代码示例:

package main import ( "fmt" "regexp" ) func main() { // 定义要匹配的文本和正则表达式模式 text := "This is a sample text to match." pattern := `is` // 使用 FindStringSubmatch 找出匹配的第一个子字符串 match := regexp.FindStringSubmatch(text, pattern) // 输出匹配的子字符串 if len(match) > 0 { fmt.Println("匹配的子字符串:", match[0]) } else { fmt.Println("未找到匹配") } }
Copier après la connexion

实战案例:

使用FindStringSubmatch

Exemple de code :

package main import ( "fmt" "regexp" ) func main() { // 定义要匹配的电子邮件地址 email := "user@example.com" // 定义用于匹配域名的正则表达式模式 pattern := `@([^\s]+)$` // 使用 FindStringSubmatch 找出匹配的第一个子字符串(域名) match := regexp.FindStringSubmatch(email, pattern) // 输出匹配的域名 if len(match) > 0 { fmt.Println("域名:", match[1]) } else { fmt.Println("未找到匹配") } }
Copier après la connexion

Exemple pratique :Utilisation de FindStringSubmatchpour faire correspondre les noms de domaine dans les adresses e-mail :
域名: example.com
Copier après la connexion
Au-dessus du code affichera : rrreee

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!

Étiquettes associées:
source:php.cn
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
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal
À propos de nous Clause de non-responsabilité Sitemap
Site Web PHP chinois:Formation PHP en ligne sur le bien-être public,Aidez les apprenants PHP à grandir rapidement!