Каким будет регулярное выражение для этой строки? [Дубликат]

$query = "SELECT Name,Mobile,Website,Rating FROM grand_table order by 4";

while( $data = mysql_fetch_array($query))
{
    echo("<tr><td>$data[0]</td><td>$data[1]</td><td>$data[2]</td><td>$data[3]</td></tr>");      
}

Вместо использования запроса WHERE вы можете использовать этот запрос ORDER BY. Это намного лучше, чем это для использования запроса.

Я выполнил этот запрос и не получаю никаких ошибок, таких как параметр или логический.

58
задан Kevin Guan 21 December 2015 в 05:01
поделиться

10 ответов

Вам не нужны причудливые вещи, просто посмотрите строковые методы в стандартной библиотеке , и вы можете легко разделить свой URL между частью «filename» и остальными:

url.rsplit('/', 1)

Итак, вы можете получить интересующую вас часть:

url.rsplit('/', 1)[-1]
160
ответ дан Kevin Guan 5 September 2018 в 08:36
поделиться

rsplit должно соответствовать задаче:

In [1]: 'http://www.test.com/page/TEST2'.rsplit('/', 1)[1]
Out[1]: 'TEST2'
12
ответ дан Benjamin Wohlwend 5 September 2018 в 08:36
поделиться
extracted_url = url[url.rfind("/")+1:];
2
ответ дан fardjad 5 September 2018 в 08:36
поделиться

urlparse подходит для использования, если вы хотите (скажем, избавиться от любых параметров строки запроса).

import urllib.parse

urls = [
    'http://www.test.com/TEST1',
    'http://www.test.com/page/TEST2',
    'http://www.test.com/page/page/12345',
    'http://www.test.com/page/page/12345?abc=123'
]

for i in urls:
    url_parts = urllib.parse.urlparse(i)
    path_parts = url_parts[2].rpartition('/')
    print('URL: {}\nreturns: {}\n'.format(i, path_parts[2]))

Выход:

URL: http://www.test.com/TEST1
returns: TEST1

URL: http://www.test.com/page/TEST2
returns: TEST2

URL: http://www.test.com/page/page/12345
returns: 12345

URL: http://www.test.com/page/page/12345?abc=123
returns: 12345
6
ответ дан Jacob Wan 5 September 2018 в 08:36
поделиться

Еще один (idio (ma) tic) способ:

URL.split("/")[-1]
46
ответ дан Kimvais 5 September 2018 в 08:36
поделиться

Разделите URL и вытащите последний элемент url.split('/').pop()

0
ответ дан Old Monk 5 September 2018 в 08:36
поделиться

Вот более общий способ регулярного выражения:

    re.sub(r'^.+/([^/]+)$', r'\1', url)
0
ответ дан sandoronodi 5 September 2018 в 08:36
поделиться
url ='http://www.test.com/page/TEST2'.split('/')[4]
print url

Выход: TEST2.

-1
ответ дан sigod 5 September 2018 в 08:36
поделиться

partition и rpartition также удобны для таких вещей:

url.rpartition('/')[2]
0
ответ дан tzot 5 September 2018 в 08:36
поделиться

Вы можете сделать это следующим образом:

head, tail = os.path.split(url)

Если хвост будет вашим именем файла.

4
ответ дан Winston 5 September 2018 в 08:36
поделиться
Другие вопросы по тегам:

Похожие вопросы: