【发布时间】:2015-01-16 05:09:15
【问题描述】:
我有以下字符串:
A. if specific_condition then specific_function
这是字符串的最长变体,它也可能以下列方式出现:
B. if specific_function then
C. if specific_function
specific_condition 类似于多字串,例如我叫奥比。所以一个完全定义的字符串可以是if my name is obi then doFunction();
我有以下正则表达式:
/(if) *(.*?)(?=then|$)(then) *(.*)/
哪个匹配:
if specific_condition then specific_function
if specific_condition then
但它不匹配:
if specific_condition
我想做的是想出一个匹配所有字符串变体并捕获相关组的正则表达式:
- 如果我有字符串 C.,它将匹配并捕获
{1}=if和{2}=specific_condition - 如果我有字符串 B.,它将匹配并捕获
{1}=if、{2}=specific_condition和{3}=then - 如果我有字符串 A.,它将匹配并捕获
{1}=if、{2}=specific_condition、{3}=then和{4}=specific_function
【问题讨论】:
标签: javascript regex