Python正则表达式字母表和空格

Python正则表达式字母表和空格,python,regex,string,Python,Regex,String,我有一个包含随机垃圾ascii字符的文件 然而,在文件中还有一条用英语写的消息 像这样: ...˜ÃÕ=òaãNÜ ß§#üxwáã MESSAGE HIDDEN IN HERE ŸÎ=N‰çÈ^XvU…”vN˜... 我正在尝试编写一个python正则表达式,它将寻找一个以6个字母或空格开头,以6个字母或空格结尾的模式 这样,只要消息的长度至少为字符或空格,就应该输出消息 这是我想到的,但似乎不起作用 regex = re.compile(''' ([A-Z ]){6,}

我有一个包含随机垃圾ascii字符的文件

然而,在文件中还有一条用英语写的消息

像这样:

...˜ÃÕ=òaãNÜ ß§#üxwáã MESSAGE HIDDEN IN HERE ŸÎ=N‰çÈ^XvU…”vN˜...
我正在尝试编写一个python正则表达式,它将寻找一个以6个字母或空格开头,以6个字母或空格结尾的模式

这样,只要消息的长度至少为字符或空格,就应该输出消息

这是我想到的,但似乎不起作用

regex = re.compile('''
([A-Z ]){6,}                                        
([A-Z ]){6,}              
''', re.I | re.X )
你的正则表达式:

([A-Z ]){6,}                                        
([A-Z ]){6,}
不起作用,因为正如您所看到的,它期望两个组之间有相当多的空间:


这就是你想要的吗:

import re

reg = re.compile( "[A-Z ]{6,}[A-Z ]{6,}")
string = "...˜ÃÕ=òaãNÜ ß§#üxwáã MESSAGE HIDDEN IN HERE ŸÎ=N‰çÈ^XvU…”vN˜..."

print reg.findall(string)
输出:

[' MESSAGE HIDDEN IN HERE ']
你的正则表达式:

([A-Z ]){6,}                                        
([A-Z ]){6,}
不起作用,因为正如您所看到的,它期望两个组之间有相当多的空间:


这就是你想要的吗:

import re

reg = re.compile( "[A-Z ]{6,}[A-Z ]{6,}")
string = "...˜ÃÕ=òaãNÜ ß§#üxwáã MESSAGE HIDDEN IN HERE ŸÎ=N‰çÈ^XvU…”vN˜..."

print reg.findall(string)
输出:

[' MESSAGE HIDDEN IN HERE ']

尝试以下正则表达式。使用您的示例,我只需要检查一组:

import re
pattern_obj = re.compile('[a-zA-Z ]{6,}', re.I)
extracted_patterns = pattern_obj.findall(ur'your_string')
print extracted_patterns
从Stackoverflow标记中,我假设您使用的是Python 2。在这种情况下,你必须采取行动 请注意,读入的字符串是unicode

输出

[u' MESSAGE HIDDEN IN HERE ']
一般建议:有时很难找到一个好的正则表达式。在这种情况下,大多数未知的标志
re.DEBUG
非常有用

pattern_obj = re.compile('[a-zA-Z ]{6,}', re.DEBUG)
max_repeat 6 4294967295
  in
    range (97, 122)
    range (65, 90)
    literal 32

尝试以下正则表达式。使用您的示例,我只需要检查一组:

import re
pattern_obj = re.compile('[a-zA-Z ]{6,}', re.I)
extracted_patterns = pattern_obj.findall(ur'your_string')
print extracted_patterns
从Stackoverflow标记中,我假设您使用的是Python 2。在这种情况下,你必须采取行动 请注意,读入的字符串是unicode

输出

[u' MESSAGE HIDDEN IN HERE ']
一般建议:有时很难找到一个好的正则表达式。在这种情况下,大多数未知的标志
re.DEBUG
非常有用

pattern_obj = re.compile('[a-zA-Z ]{6,}', re.DEBUG)
max_repeat 6 4294967295
  in
    range (97, 122)
    range (65, 90)
    literal 32

这些评论对你有帮助吗?你有没有遇到一些新的问题?这些评论对你有帮助吗?你遇到新的问题了吗?