我需要匹配以下字符串中的数字.它们可能是较长字符串的一部分,其中包含其他数字,因此我特别希望匹配在“错误代码”文本后面的空格后直接出现的数字:
Error Code 0 # Match = 0 Error Code 45 # Match = 45 Error Code 190 # Match = 190
也可能:
Some Words 12 Error Code 67 Some Words 77 # Match = 67
我正在使用someString.match(regEx)[0],但我无法正确使用正则表达式.
解决方法
/(?:Error Code )[0-9]+/
这使用非捕获组(在所有正则表达式实现中都不可用.)它会说,嘿String更好地拥有这个短语,但我不希望这个短语成为我的匹配的一部分,只是后面的数字.
如果您只想匹配1到3位数:
/(?:Error Code )[0-9]{1,3}/
使用Ruby,你的正则表达式应该受到很少的限制.除了条件之外,没有太多Ruby的正则表达式无法做到.