首頁 > 後端開發 > Golang > 正規表示式將單字與邊界精確匹配

正規表示式將單字與邊界精確匹配

WBOY
發布: 2024-02-12 13:10:09
轉載
1110 人瀏覽過

正規表示式將單字與邊界精確匹配

php小編子墨在這裡為大家介紹一個強大的文字比對工具-正規表示式。正規表示式可以用來精確匹配單字與邊界,使我們能夠更準確地找到所需的內容。無論是在文字處理、資料擷取或表單驗證等場景中,正規表示式都能發揮出色的作用,讓我們的工作更有效率和準確。接下來,我們將深入了解正規表示式的基本語法和常用技巧,幫助大家更能掌握這強大的工具。

問題內容

我使用golang 正規表示式來匹配帶有邊界的精確單詞,例如“apple”、“co.”,我不能簡單地使用\b,因為該單詞最後可以有非字母數字字符,如範例“公司”

我嘗試這樣的事情:

test := `(?i)\b(co.)(?:\s|$)`
re = regexp.MustCompile(test)
matches = re.FindAllString("co. is a secret shortcut ", -1)
登入後複製

但這會給我“co.”,我想直接得到“co.”,我該如何調整我的正規表示式來實現它。

提前致謝

解決方法

您可以使用 findallstringsubmatch 來授予您對捕獲群組的存取權限:

package main
import ( "fmt"
        "regexp"
        )

func main(){
    // your code goes here
    test := `(?i)\b(co.)(?:\s|$)`
    re := regexp.mustcompile(test)
    matches := re.findallstringsubmatch("co. is a secret shortcut ", -1)
    for _, match := range matches {
        fmt.printf("'%s'", match[1])
    }
}
登入後複製

輸出:

'co.'
登入後複製

ideone 示範

#

以上是正規表示式將單字與邊界精確匹配的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:stackoverflow.com
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板