对不起,如果这是重复但我找不到任何东西。
我想以递归方式检查以下模式的字符串
[a-z0-9][:][a-z0-9][&][a-z0-9][:][a-z0-9]...
例如
foo:bar&foo:bar1&foo:bar&foo:111&bar:2A2...
是否可以使用正则表达式,如果有的话,任何人都可以向我展示一个正则表达式?
如果有一个有效的java方法,它也会很好。
答案 0 :(得分:2)
只需将模式放在具有前一个&
的组中,然后使其重复零次或多次。
^[a-z0-9]+:[a-z0-9]+(?:&[a-z0-9]+:[a-z0-9]+)*$
如果您使用matches
方法,则无需使用锚点。
答案 1 :(得分:2)
答案 2 :(得分:1)
如果您想多次将value:value&
作为唯一元素进行匹配,
(([a-z0-9]+:)([a-z0-9]+&))+
注意:它不匹配value:value&value:
,value&value&value:
等。