Как удалить небольшую часть строки в большую строку, используя RegExp - PullRequest
0 голосов
/ 23 февраля 2009

Эй, ребята, я еще не знаю RegExp. Я знаю немного об этом, но я не опытный пользователь.

Предполагается, что я запускаю совпадение RegExp на сайте, совпадения:

Data: Informations
Data: Liberty

Тогда я хочу извлечь только информацию и свободу, мне не нужны данные: часть.

Ответы [ 4 ]

1 голос
/ 23 февраля 2009
  1. Всегда ли Data: появляется в начале строки?
  2. Может ли быть несколько пробелов между : и следующим словом?
  3. Знаете ли вы о группах?
  4. Что вы хотите: ленивое сопоставление против жадного сопоставления?

Если это так, вы можете использовать (с ленивым соответствием):

^Data:\s+(.*?)$

С классами персонажей:

^Data:\s+(\w+)$

если ты знаешь, что это всегда будет словом. Попробуйте этот веб-сайт .

1 голос
/ 23 февраля 2009

Не может быть абсолютно уверенным, не зная больше о потенциальных совпадениях, но это должно быть как минимум хорошей отправной точкой:

Data: (.*)$

Это вернет все после «данных:» до конца строки.

0 голосов
/ 25 февраля 2009

Механизмы регулярных выражений поддерживают так называемые «группы захвата». Если вы окружите шаблон или часть шаблона с помощью (), часть строки, совпадающая с этой частью регулярного выражения, будет захвачена.

Команда (ы), которую вы используете для сопоставления, определят, как получить эти захваченные значения. Они могут храниться в специальных переменных (например, $ 1, $ 2), или вы можете указать имена переменных, либо встроенных в регулярное выражение, либо в качестве аргументов команды регулярного выражения. Как именно зависит от того, какой язык вы используете.

Итак, прочитайте команды regexp для выбранного языка и найдите термин «захват групп» или, может быть, просто «группы».

0 голосов
/ 23 февраля 2009

Поиск регулярного выражения, например

Data: (.*)

Затем используйте «first submatch», который часто называют «$ 1» или «\ 1», в зависимости от используемого вами языка.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...