我正在尝试解析以下模式:
name1 操作员 name2
其中“运算符”是 &、^ 或 | 之一
组应该是(name1 operator name2,name1,operator,name2)
现在,任一名称也可以包含&,| or ^
和空格,但只有第一次出现才会使运算符。进一步出现将被视为 name2 的一部分。
我已经为此苦苦挣扎了一段时间,而且我有
\s*(\w+\s*\w*)\s*([&|^])\s*(\w+\s*\&*\w+)
看起来不是很锋利,也不起作用。此外,如果有一个类似的函数str.partition()
可以与正则表达式一起使用并将结果限制为 1,那就太好了。我找不到一个。
关于正则表达式或函数的任何想法?谢谢