【问题标题】:add special characters regex ruby添加特殊字符正则表达式红宝石
【发布时间】:2012-02-18 10:55:29
【问题描述】:

我的模型中有这个正则表达式:

/^(?:[^\W_]|\s|[\._@-])*$/u

我想在这个正则表达式中添加这个特殊的字符:

ñáéíóú

我想知道如何从其他语言、奇诺语、日本语、印度语...等添加其他字符集。谢谢。

【问题讨论】:

  • 你能举一些例子说明你想匹配什么和不匹配什么吗?
  • 例如,我想要匹配诸如“España”、“olé”等单词。

标签: ruby-on-rails ruby regex


【解决方案1】:

我不知道 Ruby 是否理解这一点,但您应该使用 unicode 属性,例如:

/^[\p{L}\s\p{N}._@?¿!¡€-]+$/

在哪里

\p{L}   : any unicode letter
\p{N}   : any unicode number

【讨论】:

  • 是的,工作正常:D。它可能会在这个正则表达式中添加这个字符 ?¿!¡€, 谢谢你!
  • @hyperrjas:考虑 +1 好答案 :)
  • 我收到错误 invalid multibyte char (US-ASCII) 使用这个正则表达式:( /^[\p{L}\s\p{N}._@?¿!¡€-]+$/
  • @hyperrjas:我不了解 Ruby,但我发现:stackoverflow.com/questions/1739836/…
  • Wooow 谢谢你现在它工作正常:D 写# encoding: utf-8 并且工作正常:D 谢谢@M42 和 @apneadiving
猜你喜欢
  • 2016-12-14
  • 2019-04-22
  • 2011-10-06
  • 1970-01-01
  • 2022-06-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多