java - 匹配java中的任何utf8非空白字符?

标签 java regex utf-8

我花了几个小时寻找和尝试。它们都不起作用。需要创建一个允许的正则表达式模式

'汉字'

't\n'

“一些字符”

但不允许

"       "

''

我在这里使用的模式

Pattern.compile("[\\u0080-\\u9fff]+");

正在进行完整的字符串匹配,而我只想匹配字符串的一部分:(

感谢您提供任何提示/线索

最佳答案

要匹配至少一个非空白字符的字符串(在需要完整字符串匹配的 javax.validation.constraints.Pattern 中,即默认情况下锚定),请使用

"(?s)\\s*\\S.*"

查看demo of how this regex works .

事实上,接受模式的方法默认对其进行锚定,因此可以省略此处的 ^$ anchor (它们存在于正则表达式演示中)。

如果您不希望输入中出现任何换行符,请省略 (?s) (Pattern.DOTALL“嵌入标志选项”,或者在其他来源中,来自模式的内联修饰符(选项))。

关于java - 匹配java中的任何utf8非空白字符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/42702401/

相关文章:

java - 使用 Realm 浏览器在 Mac 上查看 Realm 文件的加密 key

java - 在Java中是否有 "right "方法将字符串和整数存储在同一个数组中?

java - Spring Boot上传表单数据和文件

Groovy 中的多行正则表达式

regex - 正则表达式 0.12 如何工作? IBM Watson 转让。 Regex\d+\.\d+\.\d+[PZ]\d+ -- 进入--> Regex 0.12

java - 将 %E9 解码为 utf8 失败

Java HTTP 请求卡住

JavaScript 判断 url 标签是否匹配

exception - CSipSimple 抛出异常 JNI 在应用程序中检测到错误,输入无效修改后的 UTF-8 : illegal start byte 0x8e

Python UnicodeDecodeError : 'utf-8' codec can't decode byte