几个小时以来,我一直把头撞在墙上,试图弄清楚这一点。如果他们在那里,我正在尝试捕获三个组,如果没有,则捕获第一组中的所有内容。我可以将其分解为单独的正则表达式语句,但保留一个会很棒。
4 个不同的字符串如下所示:
Be somewhere now & be there later (Store) @1300
Be at work! @1430
Go home whenever (Home)
Don't ever go to the donut shop.
我正在寻找的最终结果如下:
(Group 1) Be somewhere now & be there later (Group 2) Store (Group 3) @1300
(Group 1) Be at work! (Group 2) (Group 3) @1430
(Group 1) Go home whenever (Group 2) Home (Group 3)
(Group 1) Don't ever go to the donut shop. (Group 2) (Group 3)
到目前为止,我能做的最好的事情是处理第一个和第二个选项,并且只抓住第 3 组。我已经这样做了:
.*(?:\(.*\))?\s(\@\d+)$
我很确定.*
必须删除它,因为如果我把它变成(.*)
它总是匹配所有东西。
我已经尝试了所有我知道的方法,但无法让它发挥作用,所以现在我联系你。:-)