0

以下に基づいて一致する正規表現

  • 最小 12 文字または最大 13 文字です
  • 先頭にスペース/ゼロを含めることができます
  • 文字列に空白はありません
  • すべてのゼロ/スペースではない

  • 正解:「ABCDEFGHIJ」「ABCDEFGHIJKLM」

  • 不正解:「ABCD IJKL」
4

4 に答える 4

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]+$
于 2013-11-16T12:18:42.813 に答える
0

次の正規表現を使用できます。

^ *[A-Za-z0-9]{12,13}$
于 2013-11-14T12:29:26.447 に答える
0
\s*\b[a-zA-Z0-9]{12,13}\b

これは、文字列が独自の行にある必要はありません。実際に最初の空白の一致を気にしない場合は、削除できます\s*

于 2013-11-14T12:31:45.957 に答える