正则表达式:捕获组和前瞻不工作

时间:2016-05-25 14:06:43

标签: regex perl sas

所以我知道regexs已经有几年了,最近再次潜入它。 我已经谷歌了几个小时,并不太明白出了什么问题。 我想从:

中提取housenumber后缀
  

StreetnameA 278
  StreetnameB 36 A
  StreetnameC 37

这样我就会得到ouput:

  

A

到目前为止,我的解决方案无效(捕获组和正面观察):

  1. /\d+\s(\w+)/
  2. /(?<=\d+\s)\w+/
  3. 我是否误解了捕获组和积极的环视功能?

1 个答案:

答案 0 :(得分:1)

以下是

  1. 搜索号码(\ d)
  2. 后跟一个或多个空格(\ s)+
  3. 在行尾($)
  4. (\ w +)是我们正在寻找的东西。即一个或多个单词字符。

    \d\s+(\w+)$
    

    然后阅读第一组。