How to find the first substring matched by a Golang regular expression?

PHPz
Release: 2024-06-06 10:51:00
Original
723 people have browsed it

The FindStringSubmatch function finds the first substring matched by a regular expression: the function returns a slice containing the matching substring, with the first element being the entire matched string and subsequent elements being individual substrings. Code example: regexp.FindStringSubmatch(text, pattern) returns a slice of matching substrings. Practical case: It can be used to match the domain name in the email address, for example: email := "user@example.com", pattern := @([^\s]+)$ to get the domain name match[1].

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

How to find the first substring matched by Golang regular expression?

When dealing with regular expression matching in Go language, we can use theFindStringSubmatchfunction to find the first matching substring. This function returns a slice containing the matching substring. The first element is the entire matched string, while subsequent elements are the individual substrings of the match.

Code example:

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("未找到匹配") } }
Copy after login

Practical example:

UseFindStringSubmatchto match email addresses Domain name in:

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("未找到匹配") } }
Copy after login

The above code will output:

域名: example.com
Copy after login

The above is the detailed content of How to find the first substring matched by a Golang regular expression?. For more information, please follow other related articles on the PHP Chinese website!

Related labels:
source:php.cn
Statement of this Website
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn
Latest Downloads
More>
Web Effects
Website Source Code
Website Materials
Front End Template
About us Disclaimer Sitemap
php.cn:Public welfare online PHP training,Help PHP learners grow quickly!