Java中的条件正则表达式? [英] Conditional Regular Expression in Java?
问题描述
我有一个条件正则表达式,可以在regex测试网站(例如regexlib.com)上使用,但是无法使其在我的Java应用程序中运行。
I have a conditional regular expression that works on regex test websites, such as regexlib.com, but cannot get it to work in my Java application.
但是, http:// www。 regular-expressions.info/conditional.html 表示Java不支持条件语句,但是我在SO上看到过其他帖子暗示它支持条件语句。
But, http://www.regular-expressions.info/conditional.html indicates that Java doesn't support conditionals, but I've seen other posts on SO imply that it does.
我的RegEx的示例是:(?(?= ^ [0-9])(317866?)| [a-zA- Z0-9] {6}(317866?))
An example of my RegEx is: (?(?=^[0-9])(317866?)|[a-zA-Z0-9]{6}(317866?))
它应与以下输入之一匹配: 317866
或 317866A12
或 FCF1CS317866
It should match either of these inputs: 317866
or 317866A12
or FCF1CS317866
如何解决此Java限制?
How do I work around this Java limitation?
TIA
推荐答案
java.util不支持条件表达式。 regex.Pattern 类。
要解决这个问题,您可以使用第三方的正则表达式库,例如 JRegex
这篇关于Java中的条件正则表达式?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!