2

私は困惑しています!文字列を 11 桁と照合する awk 正規表現を作成しようとしています。

私はもう試した:

if (var ~ /^[0-9]{11}$/ )
if (var ~ /^([0-9]){11}$/ )
if (var ~ /^([0-9]{11})$/ )
if (var ~ /^[0-9]{11}/ ) # altho I really do need to check the whole str
if (var ~ /[0-9]{11}/ )

これを使えば……。

if (var ~ /^[0-9]+/ ) 

次に、一致しますが、正確に 11 桁であることを確認する必要があります。

4

3 に答える 3

1

文字列のどこかで正確に11桁の連続した数字と一致させようとしている場合:

テスト ファイルの使用:

hi12345678910
hi1234

awk コマンドラインの Windows バージョン:

awk --posix "{ if ($1 ~ /[0-9]{11}/) print}" testfile.txt

それは印刷しました:

hi12345678910
于 2013-04-18T16:31:38.533 に答える
0

Doh - RTM を忘れた:

              Interval expressions are only available if either --posix or
              --re-interval is specified on the command line.
于 2013-04-18T16:30:12.947 に答える