Postgres Regex匹配前11个字符,除非有空格或破折号

时间:2019-04-24 22:24:01

标签: regex postgresql

12345678-1
12345678 1356456456456
221345243545634563546

使用上述字符串,除非您是破折号或空格,否则我将尝试匹配前11个字符,然后抓取所有内容(仅前8个)直到空格/破折号...

我尝试了\^(.*?)-\仅捕获第一个字符串的前8个(如预期的那样。或\^(.*?) \正好捕获了第二个字符串的前8个。但是\^(.*?)(-| )\却没有t [。[[0-9] {8,11})也不起作用,因为这只是跳过空间并包含多余的位...

除非有破折号或空格,否则我如何才能只提取前11个数字,然后将所有内容拉至破折号/空格(固定为8个字符)?

1 个答案:

答案 0 :(得分:1)

添加锚点开始

^[0-9]{8,11}