我正在编写一个正则表达式,它将允许我在JavaScript中使用基本的条件if/else系统。(我知道可能有更简单的方法!)
这是我需要处理的内容:
{?if language = german}Hallo!{?else}Hello!{?endif}
{?if language = german}{#greeting}{?endif}
我已经写了一个正则表达式 /{\?if ([^{}]+)}(.+)(?:{\?else})?(.+)?{\?endif}/g
,但它只能匹配部分内容。我目前使用的是 RegExr 进行测试。
使用输出表达式 1: $1\n2: $2\n3: $3\n
,我的期望输出应该是:
1: language = german
2: Hallo!
3: Hello!
1: language = german
2: {#greeting}
3:
很遗憾,我得到的是这个:
1: language = german
2: Hallo!{?else}Hello!
3:
1: language = german
2: {#greeting}
3:
我在这里做错了什么?我对编写正则表达式比较新,所以我想肯定有方法的,只是我没有做正确。
else
是可选的,贪婪量词会超过它。 - Barmar