golang で正規表現を使用して、入力が正当な QQ 番号であるかどうかを確認する
Golang は、正規表現を処理するためのライブラリを含む、多くの強力なツールとライブラリを備えた最新の効率的なプログラミング言語です。正規表現は文字列を照合するためのツールであり、文字列が特定のパターンに一致するかどうかを確認するために使用できます。この記事では、Golang で正規表現を使用して QQ 番号を確認する方法を説明します。
QQ ナンバーは、Tencent が提供するオンライン インスタント メッセージング ツールで、通常は 0 から始まる 5 ~ 11 桁の数字の文字列で構成されます。 QQ 番号の正当性を検証することは、オンライン ゲームやソーシャル アプリケーションを開発する場合でもよく行われる作業です。
まず、Golang の regexp パッケージを使用して正規表現を処理する必要があります。このパッケージは、正規表現を記述してそれらを照合するために使用できる Regexp 型構造を提供します。
QQ 番号を確認するための正規表現は次のとおりです。
^[1-9][0-9]{4,10}$
このうち、^ は文字列の先頭、$ は文字列の末尾を表します。 [1-9] は最初の桁が 1 ~ 9 の数値であることを意味し、[0-9]{4,10} は後続の 4 ~ 10 桁が任意の数値であることを意味します。したがって、この正規表現は、0 から始まる 5 ~ 11 桁の QQ 番号を検証するために使用できます。
次に、Golang を使用して QQ 番号の正当性を検証します。以下は、正規表現を使用して入力が正当な QQ 番号であるかどうかをチェックする関数です。
import "regexp" func isValidQQ(qq string) bool { regexp := regexp.MustCompile(`^[1-9][0-9]{4,10}$`) return regexp.MatchString(qq) }
この関数は文字列パラメーター qq を受け入れ、regexp パッケージを使用して新しい正規表現変数を作成します。次に、Regexp.MatchString メソッドを呼び出して、入力パラメーターが QQ 番号のパターンと一致するかどうかを確認します。一致が成功した場合は true を返し、それ以外の場合は false を返します。
ここで、isValidQQ 関数を使用して、QQ 番号が正当かどうかを確認できます。以下は簡単なプログラムの例です。
func main() { qq1 := "0123456" if isValidQQ(qq1) { fmt.Println(qq1, "is a valid QQ number.") } else { fmt.Println(qq1, "is not a valid QQ number.") } qq2 := "1234567" if isValidQQ(qq2) { fmt.Println(qq2, "is a valid QQ number.") } else { fmt.Println(qq2, "is not a valid QQ number.") } }
上の例では、まず QQ 番号を isValidQQ 関数に渡し、次にその番号を正規表現と照合します。番号が QQ 番号の形式に準拠している場合、出力される番号は正当な QQ 番号です。それ以外の場合、出力番号は正当な QQ 番号ではありません。
結果では、最初の QQ 番号が不正で、2 番目の QQ 番号が正当な QQ 番号であることがわかります。
要約すると、Golang の組み込み正規表現パッケージを使用すると、正規表現の検証が非常に簡単になります。正規表現を使用して QQ 番号の正当性を確認することは、アプリケーションが不正な QQ 番号を受け入れたり表示したりすることを防ぐため、単純ではありますが必要な作業です。
以上がgolang で正規表現を使用して、入力が正当な QQ 番号であるかどうかを確認するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ホットAIツール

Undress AI Tool
脱衣画像を無料で

Undresser.AI Undress
リアルなヌード写真を作成する AI 搭載アプリ

AI Clothes Remover
写真から衣服を削除するオンライン AI ツール。

Clothoff.io
AI衣類リムーバー

Video Face Swap
完全無料の AI 顔交換ツールを使用して、あらゆるビデオの顔を簡単に交換できます。

人気の記事

ホットツール

メモ帳++7.3.1
使いやすく無料のコードエディター

SublimeText3 中国語版
中国語版、とても使いやすい

ゼンドスタジオ 13.0.1
強力な PHP 統合開発環境

ドリームウィーバー CS6
ビジュアル Web 開発ツール

SublimeText3 Mac版
神レベルのコード編集ソフト(SublimeText3)

Golangofferssuperiorporformance、nativeconconcurrencyviagoroutines、および効率的なresourceusage、makingitidealforhigh-raffic、low-latencyapis;

gousesisificlylessmemorython whenrunningwebservicesdueTolanguagedesisinandconcurrencyModeldifferences.1.go'sgoroutinesareLightwithMalstackoverhead

メモリ管理におけるGOとPythonのコアの違いは、さまざまなごみ収集メカニズムです。 GOは、プログラムロジックと同時に自動的に実行および実行する同時マーククリアランス(MarkandSweep)GCを使用し、循環参照を効果的に扱います。高い並行性シナリオに適していますが、リサイクル時間を正確に制御することはできません。 Pythonは主に参照カウントに依存しており、オブジェクト参照はゼロになったときにすぐにリリースされます。利点は、即時のリサイクルと簡単な実装であることですが、循環参照の問題があるため、GCモジュールを使用してクリーニングを支援する必要があります。実際の開発では、GOは高性能サーバープログラムにより適していますが、Pythonはスクリプトクラスまたはパフォーマンス要件が低いアプリケーションに適しています。

正規表現は、文字列操作を処理するためのJavaScriptで非常に強力です。 「hello」in /hello /テスト文字列を使用するなど、検索パターンマッチングテキストを定義します。これは、デフォルトではケースに敏感です。 Iフラグを使用してケースを無視します。 \ dや\ wなどのワイルドカードを使用して、数字や単語文字を一致させます。 Gフラグを介してグローバル検索の交換を実装します。 Mフラグを使用してマルチラインモードを有効にします。キャプチャグループ(())を使用して、メールボックスからユーザー名とドメイン名を抽出するなどのサブマッチコンテンツを抽出します。逆の参照を使用して、1ドルと2ドルを使用して、名前の注文を交換するなど、キャプチャ値を再利用します。特殊文字の脱出、キャプチャグループ以外のグループ(?:...)の使用、貪欲なマッチングの制御などのテクニックに注意し、デバッグを支援するツールを推奨します。

インターフェイスはポインタータイプではなく、動的タイプと値の2つのポインターが含まれています。 1.インターフェイス変数は、特定のタイプのタイプ記述子とデータポインターを保存します。 2。ポインターをインターフェイスに割り当てるとき、ポインターのコピーを保存すると、インターフェイス自体がポインタータイプではありません。 3.インターフェイスがゼロであるかどうかは、同時にタイプと値を判断する必要があります。 4.メソッドレシーバーがポインターである場合、ポインタータイプのみがインターフェイスを実現できます。 5.実際の開発では、インターフェイスのバリューコピーとポインター転送の違いに注意してください。これらを理解することで、ランタイムエラーを回避し、コードセキュリティを改善できます。

GO言語でシェルコマンドを実行することは、標準ライブラリOS/execを介して実装できます。基本的な方法は、exec.command()を使用してコマンドオブジェクトを作成し、output()を呼び出して結果を取得することです。 1.単純なコマンドを実行するときにコマンドオブジェクトを作成し、output()を呼び出して出力を取得します。 2.リアルタイム出力が必要な場合は、stdoutpipeとstderrpipeを使用して実行中に実行および印刷します。 3。パイプラインまたはリダイレクトを含む複雑なコマンドの場合、分析と処理のために /bin /SH-Cに引き渡すことができます。 4。セキュリティの観点から、ユーザーの入力のスプライシングを避けてください。パラメーターリストを渡すことをお勧めします。 5. start()とwait()を組み合わせることで、コントロールコマンドの背景操作を実現できます。

正規表現を処理する場合、ユーザー入力または外部データをリテラル文字列として通常の文字列に挿入する必要がある場合、PREG_QUOTE()関数を使用して特殊文字をエスケープする必要があります。 1.変数に通常の特殊文字(。、 *、、?など)が含まれ、正規表現にスプライスされると、異常なマッチング挙動を引き起こします。 2。Preg_Quote()の最初のパラメーターは逃げるべき文字列であり、2番目のパラメーターを使用して通常のセパレーターを指定して、セパレーター自体も逃げていることを確認します。 3.一般的な誤解には、preg_quote()の乱用、区切り文字のパラメーターを無視し、すべてのセキュリティ問題を解決できると誤って考えています。 4。実際のアプリケーションでは、動的コンテンツを処理するためにpreg_quote()を常に使用することをお勧めします。

fornewgo1.21プロジェクト、useSlogforofficialStructuredloggingsupport;
