1

文字列を解析するには、正規表現を使用する必要があります。

ほとんどの場合、文字列は式を使用して解析できます

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})

場合によっては、式が次のようになるように、文字列にさらに 4 文字を含める必要があります。

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})

どちらの式も単独で、それぞれの文字列で機能します。最初の式は、2 番目の式用の文字列に対しても技術的に有効ですが、式の .{0,9} セクションは 4 文字ずれます。

式の簡単な説明:
サブセット 1: 1 ~ 21 (または 25 文字)
任意の文字 az
任意の文字 A ~ Z
ダッシュ、コンマ
0 ~ 9 の任意の数字
開き括弧と閉じ括弧、ハッシュ タグ、スラッシュ、スペース、ピリオド。

サブセット 2 ~ 7
任意の文字 (最大 9 合計)

私は以下の表現のようなものを望んでいました

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21|25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})

また

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21}|{1,25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})

これらを試しましたが、うまくいきませんでした。他に何かアイデアはありますか?

4

1 に答える 1

1

かなり冗長ですが、これを行う必要があると思います:

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21}|[a-zA-Z\-\,0-9\(\)\#\/ \.]{25})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})(.{0,9})

最初のキャプチャ グループは、1 ~ 21 文字、または 25 文字の長さである必要があります。

グループのキャプチャ方法を変更したい場合 (および正規表現エンジンがサポートしている場合) は、次のようにすることもできます。

^([a-zA-Z\-\,0-9\(\)\#\/ \.]{1,21}|[a-zA-Z\-\,0-9\(\)\#\/ \.]{25})(.{0,9}){6}
于 2013-06-20T21:01:44.597 に答える