2015-11-26 4 views
1
import re 
re1=open("sample.xml") 
#actual string is as follows 
#"},{comp_code,"OK" 
x='\"\}\,\{comp\_code\,\"OK\"' 

for line in re1: 
    if r'x' in line: 
     print "found" 

Над код возврата истинного, даже если строка не присутствует, и я не могу понять этоматч строки с регулярным выражением

+1

Вы вообще не использовали регулярное выражение, вы только подготовили шаблон и проверяете, содержит ли 'строка' литерал' x'. –

+0

Я думаю, вы пытались использовать его как 'if re.search (x, line):', но вам также нужно использовать необработанную строку при объявлении шаблона: 'x = r '\" \}, \ {comp_code, \ "OK \" ''. –

+0

спасибо .. мне попробуй это :) – user3812837

ответ

1

Вы не использовали регулярное выражение в коде, как вы только подготовили шаблон и проверяют, содержит ли line буквальный номер x.

Используйте необработанный строковый литерал при объявлении шаблона:

x=r'\"\},\{comp_code,\"OK\"' 

и использовать re.search(x, line): вместо if r'x' in line:, чтобы проверить на матч, так как re.match будет смотреть только на матч в начале строки.

Смежные вопросы