我刚买了一本关于正则表达式的书,但我仍然很难理解。我正在尝试创建一个Java正则表达式,以满足以下字符串配置:
- 可以包含小写字母([a-z])
- 可以包含逗号(,),但只能在单词之间使用
- 可以包含冒号(:),但必须与单词或乘积(*)分开
- 可以包含连字符(-),但必须与单词分开
- 可以包含乘积(*),但如果使用,则必须是冒号之前/之间/之后的唯一字符
- 不能包含空格,“单词”由连字符(-)、逗号(,)、冒号(:)或字符串结尾分隔
- foo:bar
- foo-bar:foo
- foo,bar:foo
- foo-bar,foo:bar,foo-bar
- foo:bar:foo,bar
- *:foo
- foo:*
*:*:*
- foo :bar
- ,foo:bar
- foo-:bar
- -foo:bar
- foo,:bar-
- foo:bar,
- foo,*:bar
- foo-*:bar
^[a-z-]|*[:?][a-z-]|*[:?][a-z-]|*