Go-Sprache-Praxis für reguläre Ausdrücke: So gleichen Sie ID-Kartennummern ab
Einführung:
In der täglichen Entwicklung müssen wir häufig ID-Kartennummern überprüfen und abgleichen. Reguläre Ausdrücke stellen ein leistungsstarkes Werkzeug zur Bewältigung dieses Bedarfs dar. In diesem Artikel wird erläutert, wie Sie reguläre Ausdrücke in der Go-Sprache verwenden, um Ausweisnummern abzugleichen.
1. Format der ID-Nummer
Eine ID-Nummer ist eine Zeichenfolge aus 18 Zeichen, einschließlich 17 Zahlen und einem Prüfcode (die letzte Ziffer kann eine Zahl oder der Buchstabe X sein). Das Format der ID-Nummer ist wie folgt:
2
Die Go-Sprache bietet eine integrierte Bibliothek für reguläre Ausdrücke, Regexp, mit der Sie reguläre Ausdrücke abgleichen können.
Das Folgende ist ein Beispielcode, der reguläre Ausdrücke verwendet, um ID-Kartennummern abzugleichen:
package main import ( "fmt" "regexp" ) func main() { // 身份证号码的正则表达式 idCardPattern := `^d{17}[d|X|x]$` idCardRegexp := regexp.MustCompile(idCardPattern) // 待匹配的身份证号码 idCards := []string{ "11010519880307541X", "310104198812173687", "53012419900107417X", "44010519951231061X", "3101041988121736878", // 非法身份证号码 } // 遍历身份证号码并进行匹配 for _, idCard := range idCards { if idCardRegexp.MatchString(idCard) { fmt.Printf("身份证号码 %s 是合法的 ", idCard) } else { fmt.Printf("身份证号码 %s 是非法的 ", idCard) } } }
Führen Sie den obigen Code aus und die Ausgabe ist wie folgt:
身份证号码 11010519880307541X 是合法的 身份证号码 310104198812173687 是合法的 身份证号码 53012419900107417X 是合法的 身份证号码 44010519951231061X 是合法的 身份证号码 3101041988121736878 是非法的
Im obigen Code wird zunächst eine reguläre Ausdruckszeichenfolge der ID-Nummer definiert idCardPattern
, wobei ^d{17}[d|X|x]$
eine Zeichenfolge bedeutet, die mit 17 Zahlen beginnt und die letzte Ziffer eine Zahl oder ein Buchstabe X ist. idCardPattern
,其中^d{17}[d|X|x]$
表示以17个数字开头,最后一位是数字或字母X的字符串。
然后使用regexp.MustCompile()
函数将正则表达式字符串编译为一个正则表达式对象idCardRegexp
。
接下来,定义了一个待匹配的身份证号码切片idCards
,包含了几个合法和非法的身份证号码。
最后使用for
循环遍历idCards
,通过idCardRegexp.MatchString()
regexp.MustCompile()
, um die reguläre Ausdruckszeichenfolge in ein reguläres Ausdrucksobjekt idCardRegexp
zu kompilieren. Als nächstes wird ein Abschnitt von ID-Kartennummern definiert, die mit idCards
abgeglichen werden sollen und der mehrere legale und illegale ID-Nummern enthält.
Schließlich verwenden Sie for
, um idCards
zu durchlaufen und jede ID-Nummer über die Methode idCardRegexp.MatchString()
abzugleichen. Bei erfolgreicher Übereinstimmung wird „Ausweisnummer xx ist legal“ ausgegeben, andernfalls „Ausweisnummer xx ist illegal“.
Das obige ist der detaillierte Inhalt vonGo-Sprache-Praxis für reguläre Ausdrücke: Wie man Ausweisnummern zuordnet. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!