Продолжаю работать над блогом. И вот захотел я сделать под каждой статьей ссылки на предыдущую и на следующую, чтобы можно было листать статьи не переходя к ленте. Давно, знаете ли, руки чесались сделать это и вот они (руки) дошли. И сразу встал вопрос: а как, зная id элемента в таблице, узнать id его ближайших соседей, пригодных к выводу, в один запрос?
Даны строки вида:
aa1 bbb ccc
aa2 "bbb ccc" ddd
aa3 "b c d" "s d f" ddd
"aaa4" ccc
Нужно написать регулярное выражение, которое разобъет эти строки либо по пробелу, либо по кавычкам. То есть, если элемент без кавычек — нужно брать его. А если в кавычках — то считать содержимое кавычек одним элементом.
На выходе должно получиться:
{'aa1', 'bbb', 'ccc'},
{'aa2', 'bbb ccc', 'ddd'},
{'aa3', 'b c d', 's d f', 'ddd'},
{'aaa4', 'ccc'}
Это похоже на CSV.
Дано: текст с кривым-кривым и неправильным вообще html.
Задача: расставить в этом html ссылки на заданный адрес по заданному слову. Сложность в том, что если это слово стоит в каком-то контейнерном теге, кроме <p>, его трогать не надо.
Ответ сложный. Если вы допетрили до него самостоятельно, вы поняли регулярные выражения.
s/(\d)(?=((\d{3})+)(\D|$))/$1_/g
На php решение выглядит так:
$var = preg_replace('/(\d)(?=((\d{3})+)(\D|$))/', '$1 ', $var);
Недавно, мне пришло письмо с просьбой решить задачу.
Даны строки:
Солнце светит ярко
Ярко светит солнце
Светит солнце
Солнце светит
12345
Как видно, некоторые из строк получены путем переставления слов в других. Задача — убрать неявных злобных клонов.
Друг, прочитав мои предыдущие посты, решил подкинуть задачку:
Дана 32-битная переменная. Обратить в ней порядок бит.
В одной из предыдущих статей, я описывал метод определения четности числа и даже приводил коды и результаты тестов. Возможности битовых операций не заканчиваются на этом. Недавно наткнулся на задачку:
Дано целое число. Узнать является ли оно целой степенью двойки.
Догадался, что задача на двоичные операции и начал думать. И надумал!