簡體   English   中英

python 2.7正則表達式與字符串中的\\ r \\ n匹配

[英]python 2.7 regular expression match with \r\n in string

想知道是否有任何匹配字符串的方式都包含\\r \\n 如果輸入字符串內容包含\\r \\n ,似乎相同的正則表達式匹配不起作用。 使用Python 2.7。

效果很好

import re

content = '{(1) hello (1)}'
reg = '{\(1\)(.*?)\(1\)}'
results = re.findall(reg, content)

print results[0]

prog = re.compile(reg)
results = prog.findall(content)

print results[0]

添加\\r \\n時不起作用

import re

content = '{(1) hello \r\n (1)}'
reg = '{\(1\)(.*?)\(1\)}'
results = re.findall(reg, content)

print results[0]

prog = re.compile(reg)
results = prog.findall(content)

print results[0]

問候,林

這有效:

>>> import re
>>> 
>>> content = '{(1) hello \r\n (1)}'
>>> reg = '{\(1\)(.*?)\(1\)}'
>>> results = re.findall(reg, content, re.DOTALL)
>>> 
>>> print results[0]
 hello 

>>> 
>>> prog = re.compile(reg, re.DOTALL)
>>> results = prog.findall(content)
>>> 
>>> print results[0]
 hello 

>>> 

Python Docs

'。' (點)在默認模式下,它匹配換行符以外的任何字符。 如果指定了DOTALL標志,則它匹配包括換行符在內的任何字符。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM