博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【python-bug】日期正则表达式 unbalanced parenthesis at position 64
阅读量:2225 次
发布时间:2019-05-09

本文共 715 字,大约阅读时间需要 2 分钟。

# 正则表达式import repattern = re.compile(r"^((19[2-9]\d{1})|(20((0?[0-9])|(1?[0-8]))))\ ((0?[1-9])|(1?[0-2]))\ ((0?[1-9])|([1-2][0-9])|30|31)$")pattern.findall("1989 01 08")pattern = re.compile(r"^((19[2-9]\d{1})|(20((0[0-9])|(1[0-8]))))\-((0?[1-9])|(1[0-2]))\-((0?[1-9])|([1-2][0-9])|30|31)$")pattern.findall("1989-01-08")

这两个结果都是正确的。

然后把空格和下划线去掉,就出错了。

import repattern = re.compile(r"^((19[2-9]\d{1})|(20((0?[0-9])|(1?[0-8]))))\((0?[1-9])|(1?[0-2]))\((0?[1-9])|([1-2][0-9])|30|31)$")pattern.findall("19890108")

结果报错说括号不匹配。

[后期补]找了半天的错误,把\去掉就行了,\只是为了有间隔符号用的

正解:

import repattern = re.compile(r"^((19[2-9]\d{1})|(20((0?[0-9])|(1?[0-8]))))((0?[1-9])|(1?[0-2]))((0?[1-9])|([1-2][0-9])|30|31)$")pattern.findall("19890108")

转载地址:http://lkmfb.baihongyu.com/

你可能感兴趣的文章
【学习方法】如何分析源代码
查看>>
word2vec 模型思想和代码实现
查看>>
怎样做情感分析
查看>>
用深度神经网络处理NER命名实体识别问题
查看>>
用 RNN 训练语言模型生成文本
查看>>
RNN与机器翻译
查看>>
用 Recursive Neural Networks 得到分析树
查看>>
RNN的高级应用
查看>>
TensorFlow-7-TensorBoard Embedding可视化
查看>>
轻松看懂机器学习十大常用算法
查看>>
一个框架解决几乎所有机器学习问题
查看>>
特征工程怎么做
查看>>
机器学习算法应用中常用技巧-1
查看>>
决策树的python实现
查看>>
了解 Sklearn 的数据集
查看>>
如何选择优化器 optimizer
查看>>
一文了解强化学习
查看>>
CART 分类与回归树
查看>>
seq2seq 的 keras 实现
查看>>
seq2seq 入门
查看>>