【发布时间】:2013-05-12 08:24:53
【问题描述】:
我正在尝试使用正则表达式来匹配文件中某种类型的字符串(加密密码)。我想申请正则表达式的规则是:
- 包含任意顺序的大小写字符
- 在任何位置都包含数字
- 不是一个字
- 不是数字
有人可以帮助我了解如何使用“re”模块来做到这一点吗?
当我对此进行测试时,到目前为止,我的方法是这样的:
def get_lines( file )
pattern = r'.*[A-Z]'
lines = [line.split() for line in file if re.match(pattern, line)]
return lines
所以这个正则表达式只查找包含大写字母的行。这不起作用,因为有几行包含另一个完全大写的字段。所以,我需要更具体地识别那些包含我正在寻找的字符串的行。我不是开发人员,所以不经常使用正则表达式模式......
【问题讨论】:
-
“不是一个词”不能用正则表达式来定义......或者至少不能用任何我想看的......
-
@d_w_r 您的问题与 python re 模块无关,而是与对正则表达式的一般理解有关。
-
到目前为止你尝试过哪些正则表达式?
-
“不是单词”和“不是数字”是什么意思?
-
我已经更新了描述,以展示我目前处理这个问题的方式。这让我意识到,可靠地捕获我正在寻找的模式比我最初想象的要难。
标签: python regex python-2.7