
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 |