以下に基づいて一致する正規表現
- 最小 12 文字または最大 13 文字です
- 先頭にスペース/ゼロを含めることができます
- 文字列に空白はありません
すべてのゼロ/スペースではない
正解:「ABCDEFGHIJ」「ABCDEFGHIJKLM」
- 不正解:「ABCD IJKL」
文字列全体が、先頭の空白を含めて 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]+$
次の正規表現を使用できます。
^ *[A-Za-z0-9]{12,13}$
\s*\b[a-zA-Z0-9]{12,13}\b
これは、文字列が独自の行にある必要はありません。実際に最初の空白の一致を気にしない場合は、削除できます\s*