正则表达式不适用于 Python 2.6.6
Regex not working on Python 2.6.6
你好,我有一个正则表达式问题,
这是文本结构:
TK00123456: Change a lot gibberish 16:34. --- access : [ more
gibberish Module](http://somewebsite.com/selectedModuleCode=Support
form.aspx longblob) summary --- | Properties | | --- Creator | more
gibberish | 16/01/2018 16:26:53 Manager | External Status |
Working on Resolution
Proper English Text
这是我的正则表达式
re.match(r'(?s)Change(.*?)Working', text)
输出:
None
上使用相同的正则表达式
Match 1 Full match 12-270
`Change a lot gibberish 16:34. --- access :
[ more gibberish
Module](http://somewebsite.com/selectedModuleCode=Support form.aspx
longblob) summary --- | Properties | | --- Creator | more gibberish |
16/01/2018 16:26:53 Manager | External Status |
Working`
我在 RHEL 上有 python 版本 2.6.6,如果这是问题所在,我无法升级到 python 2.7。
有什么建议吗?
您正在寻找 re.search()
而不是 re.match()
:
import re
string = """
TK00123456: Change a lot gibberish 16:34. --- access : [ more gibberish Module](http://somewebsite.com/selectedModuleCode=Support form.aspx longblob) summary --- | Properties | | --- Creator | more gibberish | 16/01/2018 16:26:53 Manager | External Status |
Working on Resolution
Proper English Text
"""
rx = re.compile(r'(?s)Change(.*?)Working')
print(rx.search(string).group(0))
解释:re.match()
只匹配字符串的开头,没有Change
(看到那里的TK00123456:
了吗?)
你好,我有一个正则表达式问题,
这是文本结构:
TK00123456: Change a lot gibberish 16:34. --- access : [ more gibberish Module](http://somewebsite.com/selectedModuleCode=Support form.aspx longblob) summary --- | Properties | | --- Creator | more gibberish | 16/01/2018 16:26:53 Manager | External Status |
Working on Resolution
Proper English Text
这是我的正则表达式
re.match(r'(?s)Change(.*?)Working', text)
输出:
None
Match 1 Full match 12-270
`Change a lot gibberish 16:34. --- access : [ more gibberish Module](http://somewebsite.com/selectedModuleCode=Support form.aspx longblob) summary --- | Properties | | --- Creator | more gibberish | 16/01/2018 16:26:53 Manager | External Status |
Working`
我在 RHEL 上有 python 版本 2.6.6,如果这是问题所在,我无法升级到 python 2.7。
有什么建议吗?
您正在寻找 re.search()
而不是 re.match()
:
import re
string = """
TK00123456: Change a lot gibberish 16:34. --- access : [ more gibberish Module](http://somewebsite.com/selectedModuleCode=Support form.aspx longblob) summary --- | Properties | | --- Creator | more gibberish | 16/01/2018 16:26:53 Manager | External Status |
Working on Resolution
Proper English Text
"""
rx = re.compile(r'(?s)Change(.*?)Working')
print(rx.search(string).group(0))
解释:
re.match()
只匹配字符串的开头,没有Change
(看到那里的TK00123456:
了吗?)