Regex の本を購入して理解しようとしましたが、まだ苦労しています。文字列構成を満たすJava正規表現を作成しようとしています。
- 小文字を含めることができます ([az])
- コンマ (,) を含めることができますが、単語の間にのみ使用できます
- コロン (:) を含めることができますが、単語または乗算 (*) で区切る必要があります
- ハイフン (-) を含めることができますが、単語で区切る必要があります
- 乗算 (*) を含めることができますが、使用する場合は、コロンの前/間/後の唯一の文字でなければなりません
- スペースを含めることはできません。「単語」はハイフン (-)、コンマ (,)、コロン (:)、または文字列の末尾で区切られます
したがって、たとえば次のようになります。
- フー:バー
- foo-bar:foo
- フー、バー:フー
- フーバー、フー:バー、フーバー
- フー:バー:フー、バー
- *:ふー
- フー:*
*:*:*
しかし、次は偽になります。
- フー:バー
- ,foo:バー
- foo-:バー
- -foo:バー
- foo,:bar-
- フー:バー、
- foo,*:バー
- foo-*:バー
これは私がこれまでに持っているものです:
^[a-z-]|*[:?][a-z-]|*[:?][a-z-]|*