使用正则表达式查找并替换 Java 中字符串中的十六进制值

Find and replace hex values in a String in Java using regex

在我网站的一个版块中,用户可以输入一段很长的文字。用户可能会输入一些无法正确呈现的与机器相关的字符,因此我想在他们保存信息之前执行验证检查。

我有一系列十六进制值,这些值与机器相关,需要避免。我需要检查它们是否存在并突出显示这些字符。

解决这个问题的一种方法是读取字符串中的每个字符并将其与十六进制范围进行比较,然后将其替换为突出显示的内容。 这可以在 Java 中使用正则表达式来完成吗?

是的,你可以。

这是用<>.

包围0x3041和0x3096范围内字符序列的示例代码
    String s = "私は日本人です。";
    String r = s.replaceAll("[\u3041-\u3096]+", "<[=10=]>");
    System.out.println(s);  // -> 私は日本人です。
    System.out.println(r);  // -> 私<は>日本人<です>。