试图找到正确的Regex表达式来匹配(2或3)位数,后面是连字符,后面是(9,10或11)位数。
总之,字符串有六(6)个潜在排列。
##-######### (2-9)
##-########## (2-10)
##-########### (2-11)
###-######### (3-9)
###-########## (3-10)
###-########### (3-11)
发布于 2017-04-25 02:27:54
您的正则表达式将如下所示:\d{2,3}-\d{9,11}
\d
表示0-9
{x,y}
是前面的字符重复了多少次发布于 2017-04-25 02:28:29
您能试一下这个表达式吗:
r'\d{2,3}-\d{9,11}'
发布于 2019-04-25 17:01:14
我相信正确的答案是r"([2-3])(-)(9|(1(?:0|1)))"
import re
string = "23-11315310"
match = re.findall( r"([2-3]-)(9|(1(?:0|1)))", string )
matched = []
for i in range( len(match) ):
matched.append( match[i][0] + match[i][1] )
print( matched )
字符串"23-11315310"
输出:['3-11']
字符串"23-92-113-105-702-052-153-10"
输出:['3-9', '2-11', '3-10', '3-10']
https://stackoverflow.com/questions/43600540
复制相似问题