Postgres 正则表达式匹配前 11 个字符,除非有空格或破折号


12345678-1
12345678 1356456456456
221345243545634563546

使用上面的字符串,我正在尝试匹配前 11 个字符,除非你是破折号或空格,然后抓取所有内容(只有前 8 个字符(,直到空格/破折号......

我已经尝试了^(.*?)-它只抓取第一个字符串的前 8 个(正如预期的那样(,或者^(.*?) 正确地抓取第二个字符串的前 8 个。但^(.*?)(-| )不起作用。'([0-9]{8,11}( 也没有,因为这只是跳过空间并包含额外的位......

除非有破折号或空格,

否则我如何只能拉出前 11 个数字,然后将所有内容拉到破折号/空格(固定 8 个字符(?

添加一个锚点以开始:

^[0-9]{8,11}

相关内容

最新更新