Rumah pembangunan bahagian belakang Golang Bagaimana untuk mencari teg HTML menggunakan ungkapan biasa dalam Go?

Bagaimana untuk mencari teg HTML menggunakan ungkapan biasa dalam Go?

Jun 03, 2024 pm 08:00 PM
html ungkapan biasa

在 Go 中使用正则表达式查找 HTML 标记:安装 regexp 包。使用 regexp.MatchString 函数,传入正则表达式字符串和要搜索的字符串。如果匹配成功,该函数将返回 true,否则返回 false。例如,以下正则表达式将匹配 <p> 标记:regexp.MustCompile(<p>.*</p>)。

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

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

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

安装 regexp

首先,您需要安装 regexp 包:

go get github.com/google/re2/regexp
Salin selepas log masuk

使用正则表达式查找 HTML 标记

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

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

regexp.MustCompile(`<p>.*</p>`)
Salin selepas log masuk

要使用这个正则表达式查找 HTML 中的 <p> 标记,您可以这样做:

package main

import (
    "fmt"
    "regexp"
)

func main() {
    html := `<html><body>&lt;p&gt;Hello, World!</p></body></html>`
    re := regexp.MustCompile(`&lt;p&gt;.*&lt;/p&gt;`)
    if re.MatchString(html) {
        fmt.Println("Found a &lt;p&gt; tag")
    }
}
Salin selepas log masuk

执行此程序将输出:

Found a &lt;p&gt; tag
Salin selepas log masuk

实战案例

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

package main

import (
    &quot;fmt&quot;
    &quot;regexp&quot;
    &quot;strings&quot;
)

func main() {
    html := `&lt;html&gt;&lt;body&gt;&lt;a href=&quot;link1.html&quot;&gt;Link 1&lt;/a&gt;&lt;a href=&quot;link2.html&quot;&gt;Link 2&lt;/a&gt;&lt;/body&gt;&lt;/html&gt;`
    re := regexp.MustCompile(`&lt;a href=&quot;(.*?)&quot;&gt;`)
    matches := re.FindAllStringSubmatch(html, -1)
    for _, match := range matches {
        fmt.Println(match[1])
    }
}
Salin selepas log masuk

执行此程序将输出链接的 href 属性:

link1.html
link2.html
Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana untuk mencari teg HTML menggunakan ungkapan biasa dalam Go?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn

Tag artikel panas

Notepad++7.3.1

Notepad++7.3.1

Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina

SublimeText3 versi Cina

Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1

Hantar Studio 13.0.1

Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6

Dreamweaver CS6

Alat pembangunan web visual

SublimeText3 versi Mac

SublimeText3 versi Mac

Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Jadual Bersarang dalam HTML Jadual Bersarang dalam HTML Sep 04, 2024 pm 04:49 PM

Jadual Bersarang dalam HTML

Sempadan Jadual dalam HTML Sempadan Jadual dalam HTML Sep 04, 2024 pm 04:49 PM

Sempadan Jadual dalam HTML

HTML jidar-kiri HTML jidar-kiri Sep 04, 2024 pm 04:48 PM

HTML jidar-kiri

Susun Atur Jadual HTML Susun Atur Jadual HTML Sep 04, 2024 pm 04:54 PM

Susun Atur Jadual HTML

Memindahkan Teks dalam HTML Memindahkan Teks dalam HTML Sep 04, 2024 pm 04:45 PM

Memindahkan Teks dalam HTML

Senarai Tertib HTML Senarai Tertib HTML Sep 04, 2024 pm 04:43 PM

Senarai Tertib HTML

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP? Feb 07, 2025 am 11:57 AM

Bagaimana anda menghuraikan dan memproses HTML/XML dalam PHP?

Butang onclick HTML Butang onclick HTML Sep 04, 2024 pm 04:49 PM

Butang onclick HTML

See all articles