java - 比较非英文字符

标签 java regex string

当我尝试比较 'Đ' 和 'D' 时遇到问题,我需要返回 true,但 Locale English 返回 false,因为 'Đ' 不能用正则表达式替换:

“\\p{Block=CombiningDiacriticalMarks}+”

最佳答案

字符类 [\u0110D] 将匹配 Đ 或 D(Đ 是代码点 U+0110)。

匹配非英文字符,入门

一个常见的例子是“über-geek”这个词。无论 u 上方是否有变音符号,我如何匹配该词?简单:[\u0252u]ber-geek 将匹配“über-geek”或“uber-geek”。

根据您的正则表达式引擎,有多种匹配区域特定字符的好方法。买一本关于你的具体实现的书来发现它的不足之处。顺便说一下,您可以在 Regular-Expressions.info 的 Unicode page 找到有关特定于 Unicode 的正则表达式信息的极好资源。 .

如果我想匹配任何字符怎么办?如果您有权访问 \X 字符类,它将充当 在 Unicode 上下文中。这意味着组合形成一个字素的多个 Unicode 代码点将作为一个“字符”注册到引擎。

注意:我并不是要“窃取”这个问题的答案,如果 Ted Hopp 将他的评论移出,我将删除我的答案。我只是想确保寻找非英语正则表达式匹配项的人可以看到这个问题确实得到了回答。

关于java - 比较非英文字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17057469/

相关文章:

java - Android 如何在计划后更改 TimerTask 间隔?

java - 跨多个 Activity 的安卓背景音乐;如何捕捉主页按钮按下

java - 如何使用 DatagramSocket.receive 作为字符串显示 udp 服务器的响应?

javascript - 正则表达式如何搜索()并替换为[]

c - C 和字符串中的 sizeof 操作

java 程序无法进入 while 循环以获得唯一行结果集

javascript - 如何使用 RegExp 多次匹配重叠模式

php - preg_replace_callback 只替换第一次出现的

带有绑定(bind)变量的字符串截断匹配表达式

python - 从字符串中去除数字