Ruby正则表达式处理nbsp

pgu*_*rio 6 ruby regex ruby-2.0

在ruby 1.9.3中,正则表达式引擎不会将(\ u00A0)视为空格(\ s).这对我来说通常是一个无赖.

所以我的问题是,这会改变2.0吗?如果没有,有没有办法修补解决方案?

Tim*_*ker 8

使用Unicode属性(您需要声明匹配的源代码编码才能使用):

# encoding=utf-8 
if subject ~= /\p{Z}/
    # subject contains whitespace or other separators
Run Code Online (Sandbox Code Playgroud)

或使用POSIX字符类:

if subject ~= /[[:space:]]/
Run Code Online (Sandbox Code Playgroud)

根据文档,\s只会[ \t\r\n\f]现在和将来匹配.