正则表达式

时间:2015-07-16 05:12:34

标签: regex

我有一个消息模式:

  建造三个房间两个架子十五个

我需要从此消息中提取位置。所以,我为第一个位置创建了以下正则表达式:

^building (?<loc1>[\w ]+)room[\w ]*$

它获得了一个位置,但我将它作为第二组,而我期待它作为第一组......

我的表达式返回的组是:

  

组[0]:建造三个房间两个架子十五个

     

组[1]:三个

简单地说,我不想要第一组,而是希望该位置成为第一组。类似的东西:

  

组[0]:三个

我尝试过非捕获组,但没有工作。请让我知道,我怎样才能做到这一点?

1 个答案:

答案 0 :(得分:0)

(?<=^building )(?<loc1>[\w ]+)(?= room)

您可以使用lookarounds来获取该内容。请参阅演示。

https://regex101.com/r/fX3oF6/2