Go 言語の正規表現のヒント: 連続して繰り返される文字を一致させる方法
正規表現は、文字列の一致と操作のための強力なツールです。 Go 言語には正規表現のサポートが組み込まれており、これを使用して文字列の一致、検索、置換を簡単に行うことができます。この記事では、正規表現を使用して、Go 言語で連続して繰り返される文字に一致する方法を紹介します。
正規表現では、反復修飾子を使用して、指定された数の反復文字と一致させます。一般的な繰り返し修飾子は、*
、
、?
、{n}
、{n,}
、# です。 ##{n,m}。
* は、0 個以上の繰り返し文字と一致するために使用されます。たとえば、正規表現
ab*c は、
ac、
と一致します。 abc 、
abbc およびその他の文字列。
は、1 つ以上の繰り返し文字と一致するために使用されます。たとえば、正規表現
ab c は、
abc、
abbc# と一致します。 ## 、 abbbc
およびその他の文字列。
は、0 個または 1 個の繰り返し文字と一致するために使用されます。たとえば、正規表現 ab?c
は、ac
、 と一致します。 abc
およびその他の文字列。
は、n 個の繰り返し文字に正確に一致するために使用されます。たとえば、正規表現 ab{2}c
は abbc
に一致します。
は、少なくとも n 個の繰り返し文字と一致するために使用されます。たとえば、正規表現 ab{2,}c
は abbc# と一致します。 ##、
abbbc、
abbbbc およびその他の文字列。
{n,m}
ab{2,4}c ##abbc
、abbbc
、abbbbc
などの # 文字列と一致します。 次のサンプル プログラムは、正規表現を使用して連続して繰り返される文字に一致する方法を示しています。
<pre class='brush:go;toolbar:false;'>package main
import (
"fmt"
"regexp"
)
func main() {
str := "aaa bbb cccc dddd"
// 使用正则表达式匹配两个以上连续的a字符
reg := regexp.MustCompile(`a{2,}`)
result := reg.FindAllString(str, -1)
fmt.Printf("连续的a字符: %v
", result)
// 使用正则表达式匹配三个以上连续的b字符
reg = regexp.MustCompile(`b{3,}`)
result = reg.FindAllString(str, -1)
fmt.Printf("连续的b字符: %v
", result)
// 使用正则表达式匹配四个以上连续的c字符
reg = regexp.MustCompile(`c{4,}`)
result = reg.FindAllString(str, -1)
fmt.Printf("连续的c字符: %v
", result)
// 使用正则表达式匹配连续的d字符,不限数量
reg = regexp.MustCompile(`d+`)
result = reg.FindAllString(str, -1)
fmt.Printf("连续的d字符: %v
", result)
}</pre>
上記のサンプル プログラムを実行すると、次の結果が出力されます。
连续的a字符: [aaa] 连续的b字符: [] 连续的c字符: [cccc] 连续的d字符: [dddd]
例では プログラムでは、まず、複数の連続する繰り返し文字を含む文字列
strを定義します。次に、正規表現
a{2,} を使用して 2 つ以上の連続する a 文字と一致させ、正規表現 b{3,}
を使用して 3 つ以上の連続する a 文字と一致させます。 b 文字、正規表現 c{4,}
を使用して 4 つ以上の連続する c 文字と一致させ、正規表現 d
を使用して連続した d 文字と一致させます (数に制限はありません) 。最後に、FindAllString
関数を使用して、文字列から正規表現に一致するすべての部分文字列を検索し、結果を出力します。 上記の例を通して、正規表現を使用して Go 言語で連続して繰り返される文字と一致させるのが非常に簡単であることがわかります。必要な作業は、一致ルールを定義し、正規表現ライブラリが提供する関数を使用して一致させることだけです。
要約すると、正規表現は、文字列内の必要なコンテンツを照合、検索、置換するのに役立つ強力なツールです。 Go 言語では、正規表現ライブラリを使用して文字列を簡単に操作できます。連続して繰り返される文字を照合するには、照合ルールを定義し、正規表現ライブラリが提供する照合関数を使用するだけです。この記事が、正規表現を使用して Go 言語で連続して繰り返される文字と一致するのに役立つことを願っています。
以上がGo 言語の正規表現のヒント: 連続して繰り返される文字と一致する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。