正则表达式提取字符

时间:2015-08-31 19:01:27

标签: regex tableau

我遇到以下情况: 我想提取一个数字块(随机和非特定长度),然后通过正则表达式用下划线分隔:

Example: 111_234_4123_2341

Select first: 111
Secondly : 234
thirdly: 4123  

有人可以帮帮我吗?任何帮助表示赞赏!

最诚挚的问候 P上。

1 个答案:

答案 0 :(得分:0)

看起来你想要一个用下划线_字符分隔的特定段, 这几乎就像分裂。 如果它被量化不止一次,那么使用的正则表达式引擎很可能会覆盖一个组。 你可以利用这样的东西来利用它:

(?:(\d+)_?){n}

返回第二段(n'th):123 _ 456 _ 789

 (?:
      ( \d+ )                       # (1)
      _?
 ){2}

这个正则表达式有问题。 它要求段中的下划线之间存在某些内容,否则正则表达式将不匹配。

有一种方法可以在下划线之间不需要数字的情况下执行此操作 但仍然需要至少n-1下划线。 这使用先行断言和捕获缓冲区2作为标志。

(?:(?!\2)(\d*)(?:_|$())){n}

 (?:
      (?! \2 )
      ( \d* )                       # (1)
      (?:
           _
        |  $ 
           ( )                           # (2)
      )
 ){2}