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