匹配数字,超级和特殊字符的正则表达式

时间:2016-07-08 09:47:40

标签: ruby-on-rails ruby regex

我必须在给定条件下验证以下

com.android.123foo

应该应用以下条件

  1. 在最后一个点(例如"com.android.123foo"

    之后不应该允许数字

    注意:可以在字符串的中间或末尾添加数字(例如com.android.foo123 or com.adnroid.fo0123news

  2. 不允许在整个字符串上使用特殊字符和连字符(ex com.android.123foo

  3. 请帮助。

1 个答案:

答案 0 :(得分:0)

根据您询问的哪个点,答案会发生变化,但也许您可能会这样: for first dot

"com.iphones22tore.123foo".match /^.*\.[a-zA-Z.]*$/
=> nil
"com.iphonestore.foo".match /^.*\.[a-zA-Z.]*$/
=> #<MatchData "com.iphonestore.foo">

如果您的意思是在最后一个点之后,那么将正则表达式更改为:

.match /^.*\..*\.[a-zA-Z.]*$/

而不是在不允许的点之后为黑名单创建正则表达式,这只是简单地定义点之后允许的IS。