【发布时间】:2019-05-12 13:38:18
【问题描述】:
我有一个 Java 程序,如果它包含超过 5 次的连字符,它应该匹配一个字符串:
hello-hi-contains-more-than-five-hyphen
单词可以包含任何常规字符。
此示例中的正则表达式不应匹配:
hi-hello-233-here-example
我试着写一个这样的正则表达式:
.*-{6,}.*
但它不起作用。
【问题讨论】:
-
我觉得如果你使用
String.split('-')然后检查长度是否大于6会方便很多。 -
感谢您的建议,但这是我需要的正则表达式的一部分
-
不使用正则表达式的替代方案:
booleam matches = str.codePoints().filter(c -> c == '-').count() > 5;