正则表达式以匹配 hacklang 中所有出现的管道运算符 (|>) 表达式

问题描述 投票:0回答:1

例如:

Input -> "x() |> y($$) |> z($$) any random string a() |> b($$) |> c($$)"

output -> vec[
           "x() |> y($$) |> z($$)", 
           "a() |> b($$) |> c($$)"
         ] // this contains two groups of expressions.

我不确定这是否可以通过正则表达式实现。如果可能的话,任何人都可以帮助我使用正则表达式吗?谢谢

regex expression regex-group hacklang
1个回答
0
投票

我知道这可以通过其他方式完成,但这对我来说是最清楚的

(?:(?!\|>|\s).)*(?:\s*\|>\s*(?:(?!\|>|\s).)*)+

https://regex101.com/r/pZ01Ki/1

 (?:
    (?! \| > | \s )
    .
 )*
 (?:
    \s* \| > \s* 
    (?:
       (?! \| > | \s )
       .
    )*
 )+
© www.soinside.com 2019 - 2024. All rights reserved.