「Java」正規表現に特殊文字のエスケープサンプル

環境
JavaSe-17
Spring Tool Suite 4.13

特殊文字
¥ * + . ? { } ( ) [ ] ^ $ – |
これらの特殊文字を文字として扱う場合にはエスケープシーケンスが必要です。
String 変数名 = “\\^d";
Pattern.compile(変数名);

使用例

Plain text
Copy to clipboard
Open code in new window
EnlighterJS 3 Syntax Highlighter
package com.arkgame.study;
import java.util.regex.Matcher;
import java.util.regex.Pattern;
public class Testtt {
// 正規表現のパターン
private static final String regFmt = "\\^d";
public static void main(String[] args) {
// 特殊文字^を扱う文字列
String target = "study^dskill";
Pattern pa = Pattern.compile(regFmt);
Matcher mb = pa.matcher(target);
if (mb.find()) {
System.out.println("一致します");
} else {
System.out.println("一致しません");
}
}
}
package com.arkgame.study; import java.util.regex.Matcher; import java.util.regex.Pattern; public class Testtt { // 正規表現のパターン private static final String regFmt = "\\^d"; public static void main(String[] args) { // 特殊文字^を扱う文字列 String target = "study^dskill"; Pattern pa = Pattern.compile(regFmt); Matcher mb = pa.matcher(target); if (mb.find()) { System.out.println("一致します"); } else { System.out.println("一致しません"); } } }
package com.arkgame.study;

import java.util.regex.Matcher;
import java.util.regex.Pattern;

public class Testtt {
      // 正規表現のパターン
      private static final String regFmt = "\\^d";

      public static void main(String[] args) {
            // 特殊文字^を扱う文字列
            String target = "study^dskill";

            Pattern pa = Pattern.compile(regFmt);
            Matcher mb = pa.matcher(target);
            if (mb.find()) {
                  System.out.println("一致します");
            } else {
                  System.out.println("一致しません");
            }

      }

}

実行結果
一致します

Java

Posted by arkgame