Java 7 Unicode 正则表达式 仅制表符和仅空格

标签 java regex

我目前正在尝试为我们的应用程序添加对日语和法语编码的支持。为此,我尝试创建两个模式匹配器来检测读取文件中的仅制表符和仅空格,无论语言编码如何。

这些将用于确定文件中使用的分隔符,以便对它们进行相应的处理。

当我尝试编译空间模式时

Pattern.compile(" ", Pattern.UNICODE_CHARACTER_CLASS);

我没有看到它生成正则表达式来处理不同的 unicode 空间值。

例如类似“[\\u00A0\\u2028\\u2029\\u3000\\u00C2\\u009A\\u0041]”

编译似乎可以在“\s”字符集下正常工作,但其中包括制表符和换行符。

我应该如何在 Java 中执行此操作?

更新

所以这不起作用的部分原因是日语网络文本没有空格,即使看起来有空格。从 Web imoprt 中获取以下行:

実なので说明は不要だろう。その后1987

这里其实没有空格う。そ。只有三个字符。

解决这个问题确实是另一个问题的主题,所以我接受了卡西米尔的回答,因为它很好地处理了法国的情况。

最佳答案

您可以使用否定字符类。示例:

[^\\S \\t]

这意味着 \s 没有空格和制表符。

或者您可以使用类交集:

[\\s&&[^ \\t]]

关于Java 7 Unicode 正则表达式 仅制表符和仅空格,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/24417394/

相关文章:

Java RAF - 如果文件被重命名怎么办

java - Android小部件未多次更新

javascript - 使用正则表达式字符动态创建正则表达式

ruby - 内插正则表达式中 char 类的过早结束

javascript - 不允许任何字母并确保第一个字符不是 0 正则表达式

java - 如何在数学方程中使用字符串变量名称?

java - 获得 Cassandra Writes 背压的最佳方法是什么?

vrl 中 URI 的正则表达式替换 (vector.dev)

java - 如果我用javac编译java我需要JVM吗?

php - 正则表达式:替换 sublime text 中的一些 php 代码