Gen*_* S. 4 regex regex-greedy
我怀疑这已经在某处得到了回答,但我找不到它,所以...
我需要从一个更大的字符串中的两个标记之间提取一个字符串,其中第二个标记可能会再次显示... ...(伪代码...)
myString = "A=abc;B=def_3%^123+-;C=123;" ;
myB = getInnerString(myString, "B=", ";" ) ;
method getInnerString(inStr, startToken, endToken){
return inStr.replace( EXPRESSION, "$1");
}
Run Code Online (Sandbox Code Playgroud)
所以,当我使用表达式" .+B=(.+);.+
" 运行时,我得到"def_3%^ 123 + - ; C = 123;" 大概是因为它只是寻找';'的最后一个例子 在字符串中,而不是在第一个停止.
我尝试使用(?=)搜索第一个';' 但它给了我相同的结果.
我似乎找不到一个regExp引用来解释如何指定"NEXT"令牌而不是最后一个令牌.
任何和所有的帮助非常感谢.
关于SO的类似问题: