如何将这个正则表达式转换为java可以使用的格式?

时间:2013-05-03 05:28:10

标签: java regex

我想使用正则表达式来解析像这样的序列...

ifelseifelseififif

其他每个人都需要一个if而不是每个人都需要一个别的。我打算使用这个表达式

((if)*+(ifelse)*)*

但我不知道如何将其转换为我可以在java中使用的格式。有人能告诉我并为我分解吗?

2 个答案:

答案 0 :(得分:2)

你可能想要:((if)*|(ifelse)*)*|表示“或”。

然而,目前还不清楚你希望用这个完成什么。你的意见似乎含糊不清。它可能是

if {
} else {
}
if {
} else {
}
if {
}
if {
}
if{
}

或者可能是

if {
} else {
    if {
    } else {
    }
}
if {
}
if {
}
if {
}

或许多其他变体。

答案 1 :(得分:1)

在正则表达式逻辑中我们要匹配:

(if如果
|
ifelse) ifelse
*该令牌,0次或更多次。

(if|ifelse)*

如果/ elseifs,则匹配0或更多。

如果您需要它从头到尾填充整个字符串,例如没有部分匹配,在它之前放^,在它之后放$:

^(if|ifelse)*$

请阅读http://www.regular-expressions.info/reference.html,了解正则表达式语法的介绍(例如,+不是您认为的正则表达式),并使用http://www.regexpal.com快速测试您的正则表达式浏览器。