Java 正規表現とメソッドを定義および使用する方法
1. 正規表現:
a.定義:
正規表現は文字列のパターンを定義します。
正規表現は、テキストの検索、編集、操作に使用できます。
正規表現は 1 つの言語に限定されませんが、言語ごとに微妙な違いがあります。
Java では、文字列は実際には単純な正規表現です。たとえば、Hello World 正規表現は「Hello World」文字列と一致します。
ava.util.regex パッケージには主に次の 3 つのクラスが含まれています:
1.パターン クラス: パターン オブジェクトは、正規表現のコンパイルされた表現です。 Pattern クラスにはパブリック コンストラクターがありません。
Pattern オブジェクトを作成するには、まずそのパブリック静的コンパイル済みメソッドを呼び出す必要があります。このメソッドは Pattern オブジェクトを返します。このメソッドは、最初のパラメータとして正規表現を受け入れます。
2.Matcher クラス: Matcher オブジェクトは、入力文字列を解釈して照合するエンジンです。 Pattern クラスと同様に、Matcher にはパブリック コンストラクターがありません。
Matcher オブジェクトを取得するには、Pattern オブジェクトの matcher メソッドを呼び出す必要があります。
3.PatternSyntaxException: PatternSyntaxException は、正規表現パターンの構文エラーを表す非必須の例外クラスです。
b. キャプチャグループ:
キャプチャグループとは、複数の文字を一つの単位として処理する方法で、括弧内の文字をグループ化して作成されます。
String line = "この注文は QT3000 に対して行われました! OK?"; //
を入力してください 文字列パターン = "(\\D*)(\\d )(.*)"; //3 つのキャプチャ グループ
() が 3 つあるので、最終的に 3 つのグループが形成されます。上記の正規表現によれば、結果は次のようになります。 この注文は QT
に対して行われました 3000
! わかりました?###### Matcher オブジェクトを使用している場合、group(0) が元の文字列 (文字列全体) になることに注意してください。
実際の開発では便宜上、PatternクラスやMatcherクラスを直接使用することはほとんどなく、Stringクラス配下のメソッドを使用します。 検証: ブール値一致(文字列正規表現)
分割: String[] Split(String regex)
置換: String replaceAll(String regex, String replace)
c. 文法:
他の言語では、\\ は次のことを意味します。正規表現に通常の (リテラル) バックスラッシュを挿入したいので、特別な意味を与えないでください。
Java では、\\ は次のことを意味します。正規表現のバックスラッシュを挿入したいので、その後の文字は特別な意味を持ちます。
したがって、他の言語 (Perl など) では、エスケープするには 1 つのバックスラッシュ \ で十分ですが、Java では、他の言語でエスケープとして解析されるために正規表現に 2 つのバックスラッシュが必要になるという意味になります。また、Java の正規表現では、他の言語では 2 つの \\ が 1 つの \ を表すことも簡単に理解できます。これが、1 桁を表す正規表現が、通常のバックスラッシュを表す \\d である理由です。はい、\\\\ です。
2.Java メソッド:
Java はオブジェクト指向言語であるため、関数はなくメソッドのみが存在しますが、一般に関数とメソッドはアプリケーションにおいて類似しています。
a.定義:
修飾子戻り値型メソッド名(パラメータ型パラメータ名)
{
...
メソッド本体
...
return 戻り値;
}
実際の例を見てみましょう。このメソッドは 2 つのパラメータの最大値を返します:
public static int max(int num1, int num2) {
int 結果;
if (num1 > num2)
結果 = num1;
それ以外###### 結果 = num2;
結果を返す;
}
基本的には関数と同じですが、JAVA はオブジェクトなので、どのメソッドがどのクラスにあるかに注意する必要があります。
b.Java の機能:
Java は C と同様に関数のオーバーロードをサポートしています。
Java は、同じ型の変数パラメータをメソッドに渡すことをサポートしています:
printMax(34, 3, 3, 2, 56.5);
printMax(new double[]{1, 2, 3});
以上がJava 正規表現とメソッドを定義および使用する方法の詳細内容です。詳細については、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)

testthepdfinanapptodetermineisisiis withthefileoredge.2.enablethebuiltinpdfviewerbyturningoff "Alwaysopenpdffilesexternally" and "downloadpdffiles" inedgesettings.3.Clearbrowsingdataincluding andcachedfilestororeveren

OS/execパッケージを使用して子プロセスを実行し、exec.commandを介してコマンドを作成しますが、すぐに実行しません。 2。.output()でコマンドを実行し、stdoutをキャッチします。 Exitコードがゼロ以外の場合は、exec.exiterrorを返します。 3。.start()を使用してブロックせずにプロセスを開始し、.stdoutpipe()と組み合わせて出力をリアルタイムでストリーミングします。 4。.stdinpipe()を介してプロセスにデータを入力し、書き込み後、パイプラインを閉じて.wait()を呼び出して最後を待つ必要があります。 5。Exec.exiterrorは、ゾンビプロセスを避けるために、故障したコマンドの出口コードとstderrを取得するために処理する必要があります。

ネストされたforeachループを最適化するには、最初に冗長な反復を回避する必要があり、時間の複雑さをo(n×m)からo(n m)に減らすことができます。第二に、構造が本当に階層的でない場合、SelectManyなどのメソッドを使用してデータを平らにする必要があります。第三に、事前に飛び出したり、条件付き判断を通じて不必要な処理をスキップしたりします。第4に、検索効率を改善するために、辞書やハッシュセットなどの適切なデータ構造を選択します。第5に、操作が独立して時間がかかる場合は、並列化を慎重に使用できます。第六に、複雑なロジックを独立した方法またはクエリに抽出して、読みやすさと保守性を向上させます。最適化の核心は、複雑さを減らし、データを合理的に整理し、常にネストの必要性を評価し、最終的に効率的で明確で拡張可能なコードを達成することです。

コンテナ化されたJavaアプリケーション:DockerFileを作成し、Eclipse-Temurin:17-jre-Alpineなどの基本的な画像を使用し、JARファイルをコピーしてスタートアップコマンドを定義し、DockerBuildを介して画像を作成し、Dockerrunでローカルに実行します。 2。画像をコンテナレジストリに押します:Dockertagを使用して画像をマークし、DockerHubやその他のレジストリにプッシュします。最初にdockerloginにログインする必要があります。 3. Kubernetesへの展開:展開を書き込み展開を定義し、レプリカの数、コンテナ画像、リソース制限の数を設定し、service.yamlを作成して作成して作成します

importjava.ioandjava.net.socketfori/oandsocketCommunication.2.CreateAsocketObjectToConnectTotheServerusingHostNameandport.3.USEPRINTWRITERTOSENDDATAVIAOUTSTREAMANDBUFFEREDEDEDEDEDEDEREDEREDERTOREADEREADSERVERRESPONSESSTREAM.

VSCODEでは、ショートカットキーを介してパネルと編集領域をすばやく切り替えることができます。左のエクスプローラーパネルにジャンプするには、Ctrl Shift E(Windows/Linux)またはCMD Shift E(MAC)を使用します。編集エリアに戻って、Ctrl `またはescまたはctrl 1〜9を使用します。マウスの操作と比較して、キーボードのショートカットはより効率的であり、エンコードリズムを中断しません。その他のヒントには、ctrl kctrl eフォーカス検索ボックス、f2の名前変更ファイル、ファイルの削除、開いたファイルの入力、矢印キーの展開/崩壊フォルダー。

JDBCドライバーをロードし、データベース接続を確立します。 2。Connection.Preparestatement()を使用して、プレースホルダーを含むSQLステートメントを作成します。 3。setString()、setInt()、およびその他のメソッドを呼び出して、パラメーター値を1から設定します。 4。SQLタイプに従ってexecuteUpdate()、executequery()、またはexecute()を呼び出して、ステートメントを実行します。 5。リソース付きのトライを使用して、メモリの漏れを防ぎ、データベース操作の安全で効率的な処理を確保するために、接続、準備、結果のリソースを自動的に閉じます。

staticFieldSholdingObjectReferencesCanPreventgarBageCollection; useweakhashmaporcleanupmechanisms.2.usedresourceslikestreamsorconnectionscauseleaks;
