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

Comment trouver des balises HTML à l'aide d'expressions régulières dans Go ?

WBOY
Libérer: 2024-06-03 20:00:00
original
1005 Les gens l'ont consulté
<p>在 Go 中使用正则表达式查找 HTML 标记:安装 regexp 包。使用 regexp.MatchString 函数,传入正则表达式字符串和要搜索的字符串。如果匹配成功,该函数将返回 true,否则返回 false。例如,以下正则表达式将匹配 <p> 标记:regexp.MustCompile(<p>.*</p>)。

<p>如何在 Go 中使用正则表达式查找 HTML 标记?

<p>如何在 Go 中使用正则表达式查找 HTML 标记

<p>正则表达式 (regex) 是用于在文本中查找匹配模式的强大工具。在 Go 中,您可以使用 regexp 包来处理正则表达式。本文将演示如何在 Go 中使用正则表达式查找 HTML 标记。

<p>安装 regexp

<p>首先,您需要安装 regexp 包:

go get github.com/google/re2/regexp
Copier après la connexion
<p>使用正则表达式查找 HTML 标记

<p>要使用正则表达式查找 HTML 标记,您可以使用 regexp.MatchString 函数。该函数接受一个正则表达式字符串和一个要搜索的字符串,并返回一个布尔值,如果匹配成功则为 true,否则为 false

<p>例如,以下正则表达式将匹配 <p> 标记:

regexp.MustCompile(`<p>.*</p>`)
Copier après la connexion
<p>要使用这个正则表达式查找 HTML 中的 <p> 标记,您可以这样做:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    html := `<p>Hello, World!

` re := regexp.MustCompile(`<p>.*</p>`) if re.MatchString(html) { fmt.Println("Found a <p> tag") } }
Copier après la connexion
<p>执行此程序将输出:

Found a <p> tag
Copier après la connexion
<p>实战案例

<p>假设您有一个包含 HTML 文档的字符串。您希望提取文档中的所有 <a> 标记并打印它们的 href 属性。以下是如何使用 Go 中的正则表达式执行此操作:

package main

import (
    "fmt"
    "regexp"
    "strings"
)

func main() {
    html := `<html><body><a href="link1.html">Link 1</a><a href="link2.html">Link 2</a></body></html>`
    re := regexp.MustCompile(`<a href="(.*?)">`)
    matches := re.FindAllStringSubmatch(html, -1)
    for _, match := range matches {
        fmt.Println(match[1])
    }
}
Copier après la connexion
<p>执行此程序将输出链接的 href 属性:

link1.html
link2.html
Copier après la connexion

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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal