我正在尝试制作一个正则表达式来确定 String 是否包含 a -
、一定数量的数字、 a {
、什么都没有/一些字符序列、 a }
、一定数量的数字和一个 final -
。例如:
gibberish-345{randomtext}938475-moregibberish
^&*^%^asdf-9897689{symbols$%&*}456-h6
-456{}456-
我试过使用String.matches("*-\\d+{.*}\\d+-.*")
and String.matches("*-[\\d]+{.*}[\\d]+-.*")
,但在每种情况下我都会得到一个PatternSyntaxException
(它们都在下面):
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 5
.*-\d+{.*}\d+-.*
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at conv.Congine.qual(Congine.java:17)
at conv.Congine.convert(Congine.java:5)
at conv.Main.main(Main.java:6)
~
Exception in thread "main" java.util.regex.PatternSyntaxException: Illegal repetition near index 7
.*-[\d]+{.*}[\d]+-.*
^
at java.util.regex.Pattern.error(Unknown Source)
at java.util.regex.Pattern.closure(Unknown Source)
at java.util.regex.Pattern.sequence(Unknown Source)
at java.util.regex.Pattern.expr(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.<init>(Unknown Source)
at java.util.regex.Pattern.compile(Unknown Source)
at java.util.regex.Pattern.matches(Unknown Source)
at java.lang.String.matches(Unknown Source)
at conv.Congine.qual(Congine.java:17)
at conv.Congine.convert(Congine.java:5)
at conv.Main.main(Main.java:6)
我是否使用了我不知道自己正在使用的正则表达式符号?我已经检查过了,但我不认为 -、{ 或 } 有资格作为正则表达式符号......