我有一个模式,想在几个地方使用它,但我想要访问模式的内部部分。有什么方法可以做到这一点吗?
在这个简化的例子中:
(?(DEFINE)
(?<_isa_> \s+ (?<isa> is \s+ a) \s+ )
)
this (?&_isa_) (?<test>test)
我希望在正则表达式成功时,能够访问命名组
isa
中匹配的捕获字符串,而无需像下面这样提取周围的\s+
:(?(DEFINE)
(?<_isa_> is \s+ a )
)
this \s+ (?<isa>(?&_isa_)) \s+ (?<test>test)
因为这意味着每次我想在实际的正则表达式中执行此操作时,我都必须指定一个预子匹配、子匹配和后子匹配,这不是我想要的。