2015-09-17 2 views
-1

Это строка настоящего времени у меня:Получение подстроки из строки (символы в одинарных кавычках) (Python)

URL = "location.href='agent_specific_listing.php?sid=131184&mls=693010&a=103&site_id=540&page_current=1';" 

Я пытаюсь разделить подстроки в одиночных кавычках, так что это результат :

new_url = 'agent_specific_listing.php?sid=131184&mls=693010&a=103&site_id=540&page_current=1' 

Я пытался использовать повторно и FindAll, но я получил пустую строку обратно:

print(re.findall(r"\(u'(.*?)',\)", URL)) // printed empty lists 

Пожалуйста л и я знаю, что я делаю неправильно. Большое спасибо.

+4

'URL.split ("'") [1] ' –

+0

вы можете попробовать' re.findall (r "'(. *)'", URL) ' –

+1

И [еще одна опция без регулярного выражения] (http: // id eone.com/eewOF9). У вас всегда будет только одна подстрока внутри одиночных апострофов? –

ответ

1
print re.findall(r"\'(.*?)\'", URL) 

, потому что это то, как вы обращаетесь апостроф:

\' matches a literal ' 
+0

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

+0

@stribizhev yes that is true , двойная цитата была просто по привычке. – mid

0
>>> print(re.findall(ur"'(.*?)'", URL)) 
['agent_specific_listing.php?sid=131184&mls=693010&a=103&site_id=540&page_current=1'] 
+2

Хотя этот код может ответить на вопрос, предоставляя дополнительный контекст относительно того, почему и/или как этот код отвечает на вопрос, улучшает его долгосрочную ценность. – JAL

0
URL = "location.href='agent_specific_listing.php?sid=131184&mls=693010&a=103&site_id=540&page_current=1';" 


newURL = URL.split('location.href=')[1] 

print(newURL) 

Выход:

'agent_specific_listing.php?sid=131184&mls=693010&a=103&site_id=540&page_current=1'; 
Смежные вопросы