标签:style color 使用 sp for strong 文件 on div
这里是一点小心得:由于下面两个原因,在正则表达式中使用反斜杠就会产生了一个双重转换的问题。
(1)、python自身处理字符串时,反斜杠是用于转义字符
(2)、正则表达式也使用反斜杠来转义字符
实例验证之一:
>>> import re
>>> s = ‘123\nabc‘ #表示的是:123 接一个换行符再接abc
>>> m = r‘123\nabc‘ #表示的是:123接一个反斜杠后接n再接abc
>>> len(s)
7
>>> len(m)
8
>>>
>>> re.subn(‘\n‘,‘x‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123xabc‘, 1)
>>> re.subn(‘\\n‘,‘x‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123xabc‘, 1)
>>> re.subn(‘\\\n‘,‘x‘,s) #正则表达式匹配的是:一个换行符(有待推敲)
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123xabc‘, 1)
>>> re.subn(‘\\\\n‘,‘x‘,s) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123\nabc‘, 0)
>>> re.subn(‘\n‘,‘x‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
>>> re.subn(‘\\n‘,‘x‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
>>> re.subn(‘\\\n‘,‘x‘,m) #正则表达式匹配的是:一个换行符(有待推敲)
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
>>> re.subn(‘\\\\n‘,‘x‘,m) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123xabc‘, 1)
>>>
>>>
>>> re.subn(r‘\n‘,‘x‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123xabc‘, 1)
>>> re.subn(r‘\\n‘,‘x‘,s) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123\nabc‘, 0)
>>> re.subn(r‘\\\n‘,‘x‘,s) #正则表达式匹配的是:一个反斜杠接一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123\nabc‘, 0)
>>> re.subn(r‘\\\\n‘,‘x‘,s) #正则表达式匹配的是:两个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
(‘123\nabc‘, 0)
>>> re.subn(r‘\n‘,‘x‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
>>> re.subn(r‘\\n‘,‘x‘,m) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123xabc‘, 1)
>>> re.subn(r‘\\\n‘,‘x‘,m) #正则表达式匹配的是:一个反斜杠接一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
>>> re.subn(r‘\\\\n‘,‘x‘,m) #正则表达式匹配的是:两个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
(‘123\\nabc‘, 0)
实例验证之二:
>>> import re
>>> s = ‘123\nabc‘
>>> m = r‘123\nabc‘
>>> len(s)
7
>>> len(m)
8
>>>
>>> re.findall(‘\n‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
[‘\n‘]
>>> re.findall(‘\\n‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
[‘\n‘]
>>> re.findall(‘\\\n‘,s) #正则表达式匹配的是:一个换行符(有待推敲)
#要匹配的字符串s为:123 接一个换行符再接abc
[‘\n‘]
>>> re.findall(‘\\\\n‘,s) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
[]
>>> re.findall(‘\n‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
>>> re.findall(‘\\n‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
>>> re.findall(‘\\\n‘,m) #正则表达式匹配的是:一个换行符(有待推敲)
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
>>> re.findall(‘\\\\n‘,m) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[‘\\n‘]
>>>
>>>
>>> re.findall(r‘\n‘,s) #正则表达式匹配的是:一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
[‘\n‘]
>>> re.findall(r‘\\n‘,s) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
[]
>>> re.findall(r‘\\\n‘,s) #正则表达式匹配的是:一个反斜杠接一个换行符
#要匹配的字符串s为:123 接一个换行符再接abc
[]
>>> re.findall(r‘\\\\n‘,s) #正则表达式匹配的是:两个反斜杠接n
#要匹配的字符串s为:123 接一个换行符再接abc
[]
>>> re.findall(r‘\n‘,m) #正则表达式匹配的是:一个换行符
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
>>> re.findall(r‘\\n‘,m) #正则表达式匹配的是:一个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[‘\\n‘]
>>> re.findall(r‘\\\n‘,m) #正则表达式匹配的是:一个换行符(有待推敲)
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
>>> re.findall(r‘\\\\n‘,m) #正则表达式匹配的是:两个反斜杠接n
#要匹配的字符串m为:123接一个反斜杠后接n再接abc
[]
标签:style color 使用 sp for strong 文件 on div
原文地址:http://www.cnblogs.com/fclbky/p/4129394.html