1
ywpg 2017-01-04 16:55:03 +08:00
如果是连续数字,请查阅文档。
如果数字可以不连续,建议不用正则处理。 |
2
enclave 2017-01-04 18:28:10 +08:00 via iPhone
\d{6}
|
3
enclave 2017-01-04 18:29:43 +08:00 via iPhone
.*\d{6}.*
|
4
ipwx 2017-01-04 18:44:35 +08:00
(?<=[^\d]|^)\d{6}(?=[^\d]|$)
|
5
imn1 2017-01-04 19:07:11 +08:00
估计是空格分开吧
\S*\d{6}\S* |
6
LigeLaige 2017-01-04 19:13:01 +08:00
\D+\d{6}\D+
|
7
trcnkq 2017-01-04 19:25:51 +08:00
\D*\d{6}\D*
|
8
cfczdws OP |
9
cfczdws OP @ipwx 谢谢,我后来用了(\D|^)(\d{6})(\D|$),用起来没问题。
继续请教下:[\D^] 和 (\D|^) 有什么区别吗?我测试时,用前者,最文本最前面是数字就不能匹配,而用后者就没有限制。 |
10
DiamondbacK 2017-01-05 00:10:06 +08:00
@cfczdws
读一读正则表达式文档中的 '[]' 表达式部分,了解一下 '[]' 里的 '^' 的含义。 |
11
LigeLaige 2017-01-05 10:51:01 +08:00
@cfczdws
import re pattern = re.compile(r'\D+\d{6}\D+') result = pattern.findall('abc12345678def') # result is [] 不知道你是否仔细看了大家的答案! 如果你需要提取这个数字,则可以写成 r'\D+(\d{6})\D+' 它会保持在正则引擎的内建变量 \1 中 |
12
ipwx 2017-01-05 22:01:21 +08:00
|
13
cfczdws OP |