Javaの正規表現とは何ですか?
正規表現は、入力テキストを検索するためのパターンを定義/形成する文字列です。正規表現には1つ以上の文字が含まれる場合があり、正規表現を使用して文字列を検索または置換できます。
Javaは、正規表現とのパターンマッチングのためのjava.util.regexパッケージを提供します。このパッケージには、3つのクラスが含まれています-
- パターンクラス: パターン このパッケージのクラスは、正規表現のコンパイル済み表現です。正規表現を文字列と照合するために、このクラスは2つのメソッドを提供します。
- compile(): このメソッドは、正規表現を表す文字列を受け入れ、Patternオブジェクトのオブジェクトを返します。
- matcher(): このメソッドはString値を受け入れ、指定されたStringを現在のパターンオブジェクトによって表されるパターンに一致させるマッチャーオブジェクトを作成します。
- マッチャー java.util.regexパッケージのクラスは、一致操作を実行するエンジンです。一致する値を見つけるには、このクラスの2つのメソッドを使用する必要があります。
- find(): このメソッドは、現在のオブジェクトによって表される一致操作が成功した場合はtrueを返し、それ以外の場合はfalseを返します。
- group() :このメソッドは、特定のグループを表す整数値を受け入れ、一致操作で指定されたグループによってキャプチャされたシーケンスを返します。
- PatternSyntaxException − PatternSyntaxExceptionオブジェクトは、正規表現パターンの構文エラーを示すチェックされていない例外です。
例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Example { public static void main( String args[] ) { Scanner sc = new Scanner(System.in); System.out.println("Enter input string: "); String input = sc.nextLine(); String regex = "[^\\p{ASCII}]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); //Creating an empty string buffer StringBuffer sb = new StringBuffer(); while (matcher.find()) { matcher.appendReplacement(sb, ""); } matcher.appendTail(sb); System.out.println("Result: \n"+ sb.toString() ); } }
出力
Enter input string: whÿ do we fall Result: wh do we fall
例
import java.util.Scanner; import java.util.regex.Matcher; import java.util.regex.Pattern; public class StartExample { public static void main(String[] args) { Scanner sc = new Scanner(System.in); System.out.println("Enter input text: "); String input = sc.nextLine(); String regex = "[t]"; //Creating a pattern object Pattern pattern = Pattern.compile(regex); //Matching the compiled pattern in the String Matcher matcher = pattern.matcher(input); int count =0; while (matcher.find()) { int start = matcher.start(); System.out.println(start); } } }
出力
Enter input text: Hello how are you welcome to Tutorialspoint 26 31 42
-
JavaのStringIndexOutOfBoundsExceptionとは何ですか?
文字列は、Javaで文字のシーケンスを格納するために使用され、オブジェクトとして扱われます。 java.langパッケージのStringクラスは、文字列を表します。 文字列は、(他のオブジェクトのように)新しいキーワードを使用するか、(他のプリミティブデータ型のように)リテラルに値を割り当てることによって作成できます。 String stringObject = new String("Hello how are you"); String stringLiteral = "Welcome to Tutorialspoint"; 文字列には文字の配列
-
Pythonの正規表現とは何ですか?
簡単に言うと、正規表現は、主に文字列またはファイル内のパターンを検索して置換するために使用される文字のシーケンスです。これらは、python、perl、R、Javaなどのほとんどのプログラミング言語でサポートされています。 正規表現は、コード、ログファイル、スプレッドシート、さらにはドキュメントなどのテキストから情報を抽出する場合に非常に役立ちます。正規表現の実際の使用法について詳しく説明します。 正規表現を使用するときに最初に知っておくべきことは、すべてが基本的に文字であり、特定の文字シーケンス(文字列とも呼ばれる)に一致するパターンを作成することです。ほとんどのパターンは通常のASCI