允许在任意数量的字符之间有或没有空格的17位数的正则表达式是什么? 我正在Android上使用OCR实时捕获SDK(ABBYY RTR SDK)(我正在使用自定义数据捕获(必须在任何地方捕获带或不带空格的17位数字)
我的正则表达式目前是这样的:
field.setRegEx( "[0-9]{14,16}" );
这只能捕获内嵌数字( 38492039483726473 )
但我需要它来捕获该格式的数字,以及此格式 - 3849 20394 8372 6473 。 我该如何实现这一目标?
答案 0 :(得分:2)
尝试使用可选空格重复数字:
function startGame(event)
--titleScreenGroup:removeSelf()
display.remove( titleScreenGroup )
titleScreenGroup = nil
resetScore() -- in the case that this is a rematch
placePlayerOnePaddle()
placePlayerTwoPaddle()
placePuck(puckAvalLocation.center)
Runtime:addEventListener( "postCollision", onPostCollision )
Runtime:addEventListener( "collision", onCollision )
appodeal.show("interstitial") --<-------- move this to scene:show()'s "did"
phase
end
答案 1 :(得分:2)
@mrzasa给出的答案的替代方法是首先从数字字符串中删除所有空格,然后使用更简单的正则表达式检查17位数字:
String input = "3849 20394 8372 6473";
if (input.replaceAll("\\s+", "").matches("\\d{17}")) {
System.out.println("match");
}
答案 2 :(得分:2)
如果只是这两种格式:
(\d{17}|\d{4}\s\d{5}\s(?:\d{4}\s){2})
捕获数字17次
或
捕获4位数字后跟一个空格,然后是5位数字后跟另一个空格,然后是4位数后跟一个空格两次