将字符串与可选的连字符数匹配 - Java Regex

时间:2016-05-20 23:56:13

标签: regex

我正在尝试将字符串与可选的连字符数相匹配。 例如, 字符串1,字符串2, 字符串1 - 字符串2-STRING3, string1-string2-string3等等。

现在,我有一些匹配一个连字符的东西。如何使正则表达式匹配可选的连字符数?

我当前的正则表达式是:arn:aws:iam :: \ d {12}:[a-zA-Z] /?[a-zA-Z] - ?[a-zA -Z] *

我需要添加什么?

1 个答案:

答案 0 :(得分:2)

使用此正则表达式:

^\\w+(-\\w+)*$

说明:

\\w+     - match any string containing [a-zA-Z_0-9]
(-\\w+)* - match a hyphen followed by a string zero or more times

Regex101

请注意,这与空字符串或包含奇怪字符的字符串不匹配。您可以手动处理这些情况,也可以更新正则表达式。