查詢Go語言切片中正則表示式的索引


在Go語言中,可以使用正則表示式在字串中搜索模式。regexp包提供了處理正則表示式的功能。在本教程中,我們將學習如何在Go語言的切片中查詢正則表示式的索引。

步驟1:匯入所需的包

要使用regexp包,您需要先匯入它。您可以使用以下程式碼匯入它:

import "regexp"

步驟2:建立切片

接下來,我們將建立一個字串切片。此切片將包含我們將搜尋正則表示式的字串。

package main
import (
   "fmt"
   "regexp"
)

func main() {
   slice := []string{
      "The quick brown fox",
      "jumps over the lazy dog",
      "1234567890",
      "hello world",
   }
}

步驟3:建立正則表示式

現在,我們將建立一個我們要在切片中搜索的正則表示式。

package main

import (
   "fmt"
   "regexp"
)

func main() {
   slice := []string{
      "The quick brown fox",
      "jumps over the lazy dog",
      "1234567890",
      "hello world",
   }
   
   re := regexp.MustCompile(`\d+`)
}

在這個例子中,我們建立了一個將匹配任何數字序列的正則表示式。

步驟4:搜尋正則表示式

現在,我們將遍歷切片並在每個字串中搜索正則表示式。

示例

package main

import (
   "fmt"
   "regexp"
)

func main() {
   slice := []string{
      "The quick brown fox",
      "jumps over the lazy dog",
      "1234567890",
      "hello world",
   }
    
   re := regexp.MustCompile(`\d+`)
    
   for i, str := range slice {
      match := re.FindStringIndex(str)
      if match != nil {
         fmt.Printf("Match found in slice[%d] at index %d\n", i, match[0])
      } else {
         fmt.Printf("No match found in slice[%d]\n", i)
      }
   }
}

在這個例子中,我們使用regexp包的FindStringIndex()函式在切片的每個字串中搜索正則表示式。此函式返回字串中正則表示式最左匹配的起始和結束索引。

輸出

No match found in slice[0]
No match found in slice[1]
Match found in slice[2] at index 0
No match found in slice[3]

結論

在本教程中,我們學習瞭如何使用regexp包在Go語言的切片中查詢正則表示式的索引。有了這些知識,您可以輕鬆地在Go語言的字串切片中搜索模式。

更新於:2023年4月17日

99 次瀏覽

啟動您的職業生涯

完成課程獲得認證

開始學習
廣告
© . All rights reserved.