В настоящее время вы указываете диапазон числа ожидаемых символов, используя фигурные скобки. ({1,}
)
Вместо этого вы можете +
или *
представлять «один или несколько» (+
) или «ноль или более» (*
) предыдущего символа. , Другими словами, *
похож на {0,}
, а +
- на {1,}
. Кроме того, вы можете использовать ?
для представления «ноль или единица», аналогично {0,1}
.
Используя это знание, мы можем искать символ (ы), за которым следует двоеточие перед именем элемента (Password
), используя этот шаблон:
.+:
Затем мы можем что внутри группы без захвата, поместив ее в набор скобок с ?:
впереди (чтобы сделать его не захватывающим), и заставьте его искать ноль или более его экземпляров.
(?:.+:)?
Таким образом, ваша строка может измениться на:
<(?:.+:)?Password>.+</(?:.+:)?Password>
Для ситуаций хорошо, где Вы не имеете доступа к "реальной" базе данных и все еще хотите питание реляционного дб. Например, Firefox хранит набор информации о Ваших настройках/истории/и т.д. в базе данных SQLite. Вы не можете ожидать всех, которые запускают Firefox, чтобы установить MySQL или postgre на их машине.
Это также совершенно способно к выполнению относительно-низкого-трафика, тяжелых чтением веб-сайтов. Производительность его в целом очень хороша, это - больше, чем значительному большинству веб-сайтов нужно для их уровней трафика.
Этому отвечает хорошо сам sqlite: Соответствующее использование sqlite
Another way to look at SQLite is this:
SQLite is not designed to replace Oracle. It is designed to replace fopen().
Я также нахожу, что использование SQLite хорошо для собирания опытного приложения довольно быстро без издержек наличия отдельного сервера БД или увязания среда разработки с экземпляром MySQL/Oracle/Whatever.
Также легкий взять и переместить базу данных в другую машину, если Вы должны.
Это часто используется для встраиваемых приложений.
Может быть очень удобно использовать базу данных как устройство хранения данных, когда у Вас нет доступа к сервису базы данных. Таким образом, SQLite используется, так как это - просто файл, который Вы храните где-нибудь.
IPhone использует его для истории вызовов, SMS-сообщений, контактов и другого типа данных. Как Ólafur Waage, сказанный, хороший для встраиваемых приложений на мобильном устройстве, потому что это легко. Я использовал его также на автономных приложениях. Простой в использовании и доступный на большинстве платформ.
Думайте о простом клиенте или настольных приложениях, которые могли использовать дб, как как плохой пример, адресная книга. Вместо того, чтобы связывать огромный механизм дб как mysql или postgre с Вашим поставляемым компонентом, sqlite очень легок и легок включать с Вашим законченным приложением.
Эти переговоры об эпизоде подкаста FLOSS Weekly с создателем SQLite и покрытий среди прочего пробегаются через тип вещей, для которых Вы использовали бы его. Все от файловых систем для мобильных телефонов к небольшим веб-сайтам.
Что говорят вышеупомянутые два ответа. Расширяясь немного на Чадском ответе Березы, вызовы к дб SQLite и довольно плохая реализация синхронизации (), который заставляет FF3 быть настолько медленным в Linux.