为了验证字符串中的条件,我有以下Regex,我是在一个在线regex验证器上编写的,但是当我在Java代码中使用它时,会得到一个异常:
"(^([a-z]{1,6})(?(?=(_))(([_])([0-9]{0,4})?)|[a-zA-Z]{0,})[a-zA-Z]{0,}?@sample[.]com)"异常是在线程"main“java.util.regex.PatternSyntaxException中的异常:在索引16 java.util.regex.PatternSyntaxException}附近未知的内联修饰符a-zA{0,}?@sample.com)
会很感激你的帮助。
发布于 2019-03-10 05:00:12
(^([a-z]{1,6})(?(?=(_))(([_])([0-9]{0,4})?)|[a-zA-Z]{0,})[a-zA-Z]{0,}?@sample[.]com)
|
^ --- if clause is not supported in JAVA您的问题是因为这个(?(?=)。
如果你想让它成为非捕获组而不是(?:(?=)
Java不支持if clause (?(?=))。PCRE支持这一点。
https://stackoverflow.com/questions/55084533
复制相似问题