为什么正则表达式链接不是一回事?还是?

时间:2019-07-06 14:13:07

标签: regex

有没有办法链接多个正则表达式以匹配字符串?以下不是一个很好的例子,但它应该解释我在说什么:

a big dog with name Jake runs in the park

如果要查找狗的名字,可以执行以下操作:

dog.*runs,这将为您提供dog with name Jake runs

然后将其链接到(?:name).*(?:runs),它将为您提供名称。

很显然,有一个更简单的方法可以从上面的示例中获取名称,但是这里的要点是为什么正则表达式不支持像这样的链接?类似于管道化Linux命令...

我正在寻找的东西将首先匹配较大的字符串,如果成功将结果与另一个正则表达式匹配以得到较小的子字符串,并且如果成功将结果与另一个正则表达式匹配,依此类推。

更新以提供有关为什么可能无法选择环视的信息

至少在Java中,周围环境有局限性。例如,在后面不可以有变长字符串(不支持。*)。但是问题是一个更通用的问题。如果正则表达式支持

之类的东西就不好了
"a big dog with name Jake runs in the park".replaceAll("(dog.*runs)->(?:name).*(?:runs)", "Pluto");

({->是我的自定义,不存在,请签署以传送结果)

0 个答案:

没有答案