如何获得Ruby 1.9 regexp支持\p{nonspace\u Mark}?

如何获得Ruby 1.9 regexp支持\p{nonspace\u Mark}?,ruby,regex,unicode,Ruby,Regex,Unicode,“a”上面的变音符号不应该被正则表达式删除吗 "hǎo".gsub(/\p{Nonspacing_Mark}/, '') => "hǎo" "hǎo".gsub(/\p{Mn}/, '') => "hǎo" 更新: 我是从Java的工作原理中得到的 Normalizer.normalize("hǎo", Form.NFD).replaceAll("\\p{Mn}+", "") 我需要先对它进行规范化,将“ǎ”分为“a”和变音符号 puts UnicodeUtils.

“a”上面的变音符号不应该被正则表达式删除吗

 "hǎo".gsub(/\p{Nonspacing_Mark}/, '')
 => "hǎo" 

 "hǎo".gsub(/\p{Mn}/, '')
 => "hǎo" 
更新:

我是从Java的工作原理中得到的

Normalizer.normalize("hǎo", Form.NFD).replaceAll("\\p{Mn}+", "")
我需要先对它进行规范化,将“ǎ”分为“a”和变音符号

puts UnicodeUtils.nfkd("ﻺ (hǎo)").gsub(/[\p{Nonspacing_Mark}]/, '')

请参见

看看这个Ruby是否知道您的源代码是UTF-8格式的?您是否因为不知道如何以“不区分重音”的方式比较两个字符串而想要避免这种错误?