mat*_*nor 2 python regex string python-3.x
假设我有以下字符串
s = '\t 1\n\t 2\n\t 3\n\t 4\n\t 5\n\t 6\n\t 7\n\t 8\n\t 9\n\t 10\n\t 11\n\t 12\n\t 13\n\t 14\n\t 15\n\t 16\n\t 17\n\t 18\n\t'
Run Code Online (Sandbox Code Playgroud)
我想以字符串“item”开始每个(缩进)行。所以我写
s = re.sub('\t', '\t\item ', s, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
我得到的输出是:
\item 1
\item 2
\item 3
\item 4
\item 5
\item 6
\item 7
\item 8
\item 9
\item 10
\item 11
\item 12
\item 13
\item 14
\item 15
\item 16
17
18
Run Code Online (Sandbox Code Playgroud)
为什么该操作只执行前16次?
s = re.sub('\t', '\t\item ', s, re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
相当于
s = re.sub('\t', '\t\item ', s, count=re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
是re.DOTALL16,因为 的签名sub是
sub(pattern, repl, string, count=0, flags=0)
Run Code Online (Sandbox Code Playgroud)
你要这个:
s = re.sub('\t', '\t\item ', s, flags=re.DOTALL)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
252 次 |
| 最近记录: |