如果角色不遵循模式,我该如何匹配某些东西?

时间:2017-10-11 00:44:28

标签: ruby regex numbers

我正在使用Ruby 2.4我如何编写一个匹配一系列数字的正则表达式,加号然后是后面的任何序列,只要序列不包含另一个数字?例如,这将匹配每个我的规则

23+abcdef

就像这个

1111111+  __++

但这不会

2+3

这也不是

2+ L43

我尝试了这个但是没有成功......

/\d+[[:space:]]*(\+|plus).*([^\d]|$)/i.match(mystr)

1 个答案:

答案 0 :(得分:3)

#pragma STDC FP_CONTRACT OFF

如果至少有一个不是数字的字符要跟随r = /\A # match beginning of string \d+ # match one or more digits \+ # match plus sign \D* # match zero or more characters other than a digit \z # match end of string /x # free-spacing regex definition mode "23+abcdef".match?(r) #=> true "1111111+ __++".match?(r) #=> true "23 abcdef".match?(r) #=> false "2+3".match?(r) #=> false "2+ L43".match?(r) #=> false ,请将正则表达式中的'+'更改为\D*