我有这样的输入:
约翰/豆/ 4000-M100约翰/ 4000-M100约翰/ 4000我怎么才能得到4000但是请注意4000会不时变化它可能是3000或2000我怎么能对待它……
当前面有斜杠时,以下内容将匹配1000小于10000的任何倍数:
\/[1-9]0{3}
要匹配前面带斜线的任何四位数字,而不是后跟另一个数字,例如4031中的数字
Sal_AS_180763852 / 4200009751_S5_154552 / 4031
鈥撄RY:
\/\d{3}(?:(?:\d[^\d])|(?:\d$))
https://regex101.com/r/Am34WO/1
您可以使用此查询来获得所需的结果:
select regexp_replace(data, '^.*/(\d{4})[^/]*$', '\1') from test
正则表达式在a之后查找一组4位数 / 然后没有其他人跟着 / 在行结束之前,用这4个数字替换字符串的整个内容。
/
在dbfiddle上演示