检查字符串末尾包含整数

时间:2014-06-11 07:08:57

标签: ruby-on-rails ruby regex ruby-on-rails-3

我想检查给定的字符串是否包含"test_icon_<integer>"。整数可以是10或22或32或109或120.(第一个整数可以为零,但第二个和第三个数字可以为零)

Following strings are not accepted
1."test_icon_<1a>" 
2."test_icon_<1.1>"
3. "test_icon_<!@q>"
4. "test_icon_<abced>"

请帮我解决这个问题。

3 个答案:

答案 0 :(得分:1)

这应该适合你:

test_icon_<((?!0)\d)\d{0,2}>

Demo with explanation

答案 1 :(得分:1)

这个正则表达式匹配你的字符串并且对不好的字符串失败:

test_icon_<[1-9]\d{0,2}>

请参阅demo

解释正则表达式

test_icon_<              # 'test_icon_<'
[1-9]                    # any character of: '1' to '9'
\d{0,2}                  # digits (0-9) (between 0 and 2 times
                         # (matching the most amount possible))
>                        # '>'

答案 2 :(得分:0)

以下正则表达式可以解决您的问题:

/test_icon_\<[0-9]+\>/

希望这会有所帮助:)