我有一些未指定的长度,后跟一个15位数字。
例如:
(未指定长度的随机数)+ 15位数 - > 3 + 15位数字
(未指定长度的随机数)+ 15位数 - > 32831 + 15位数字
(未指定长度的随机数)+ 15位数 - > 31 + 15位数字
我可以在Python中使用RegEx捕获“第1部分”(长度不确定)和最后15位数字作为“第2部分”吗?
答案 0 :(得分:7)
在我看来,你需要的是除了最后15个字符之外的所有内容,为什么要使用正则表达式来执行这个简单的任务?我们可以简单地获取字符串的一部分(如果它之前是一个数字,只需转换为字符串,执行此操作,然后转换回来):
>>> a = "3123456789123456" #3 + 15 digit number
>>> (a[:-15], a[-15:])
('3', '123456789123456')
>>> a = "32831123456789123456" #32831 + 15 digit number
>>> (a[:-15], a[-15:])
('32831', '123456789123456')
>>> a = "31123456789123456" #31 + 15 digit number
>>> (a[:-15], a[-15:])
('31', '123456789123456')
很好,也很容易。
答案 1 :(得分:2)
试试这个正则表达式:
^(\d+)(\d{15})$
说明:
^ Start of string
$ End of string
\d Any digit
{15} Repeat 15 times
+ Repeat one or more times.
(...) Capturing group
答案 2 :(得分:2)
当然,请使用正则表达式(\d*)(\d{15})
或过度使用(?<!\d)(\d*)(\d{15})(?!\d)