说我有一个号码:6278041121932517
如果我想得到11219325
我有一个正则表达式:
re.search(r"((1|2)\d{7})", "6278041121932517")
Run Code Online (Sandbox Code Playgroud)
但问题是,它可能以1或2开头.所以我想事先添加一个最小缓冲区,比如4位数.我想到了后视,但它不支持n长度.
看来你可能会用
^\d{4,}?([12]\d{7})
Run Code Online (Sandbox Code Playgroud)
请参阅正则表达式演示
细节:
^ - 字符串的开头\d{4,}? - 4位或更多位数,但尽可能少([12]\d{7}) - 第1组(您的价值):
[12]- 1或2\d{7} - 7位数参见Python演示:
import re
m = re.search(r"^\d{4,}?([12]\d{7})", "6278041121932517")
if m:
print(m.group(1))
# => 11219325
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
44 次 |
| 最近记录: |