基于以下
匹配的正则表达式并非所有零/空格
正确匹配: " ABCDEFGHIJ" " ABCDEFGHIJKLM"
答案 0 :(得分:0)
您可以使用此正则表达式:
^ *[A-Za-z0-9]{12,13}$
答案 1 :(得分:0)
\s*\b[a-zA-Z0-9]{12,13}\b
这不需要字符串在它自己的行上。如果您实际上并不关心匹配初始空格,则可以删除\s*
答案 2 :(得分:0)
你是说整个字符串必须是12或13个字符长包括领先的空白?这适用于大多数正则表达式:
^(?=.{12,13}$)\s*[A-Za-z0-9]+$
我不确定ABAP。我发现的许多搜索命中都表明它支持前瞻,但如果你真的使用POSIX标准的正则表达式,这将无法工作。您可能需要在单独的测试中进行长度检查。
更新:为了防止所有零的匹配,您需要添加另一个前瞻:
^(?=.{12,13}$)(?!0+$)\s*[A-Za-z0-9]+$
更新2:我刚想到你可能不想要像" 000000000"
这样的字符串 - 即全零和前导空格。这个正则表达式将涵盖:
^(?=.{12,13}$)(?!\s*0+$)\s*[A-Za-z0-9]+$
答案 3 :(得分:-1)
您只需要可选的前导空格:
\s*[A-Za-z0-9]{12}