Как правильно написать регулярку?
Есть некоторая строка вида:
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"]$$третий заголовок$$[width="300"] |
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"]$$третий заголовок$$[width="300"]
Причем заголовки могут в некоторых случаях разделяться вертикальной чертой:
$$первый заголовок$$[width="100"] | $$второй заголовок$$[width="200"] | $$третий заголовок$$[width="300"] |
$$первый заголовок$$[width="100"] | $$второй заголовок$$[width="200"] | $$третий заголовок$$[width="300"]
Как правильно написать регулярку, которая будет находить только ту часть строки, внутри которой нет вертикальной черты?
То есть если у нас вот такой случай:
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"] | $$третий заголовок$$[width="300"] |
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"] | $$третий заголовок$$[width="300"]
то регулярка должна нам отдать только вот эту подстроку:
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"] |
$$первый заголовок$$[width="100"]$$второй заголовок$$[width="200"]
Дополнительно:
Звучит очень странно, какую задачу пытаетесь решить?
Но тем не менее: https://regexr.com/7oqpg
Ответы:
Зачем так усложнять?
Сперва разделите на подстроки с разделителем "вертикальная черта", затем пишите регулярку для первой подстроки
Опишите проблему, и специалист поможет с настройкой, исправлением ошибки или доработкой сайта. Подберём понятный план работ без лишней переписки.
Пока нет других ответов. Будьте первым, кто поможет автору.
Ответить на вопрос
Для того чтобы написать регулярное выражение, необходимо учитывать несколько важных моментов.
1. Определить цель регулярного выражения. Необходимо четко понимать, что именно мы хотим найти или проверить в строке.
2. Использовать специальные символы для поиска паттернов. Например, для поиска цифр можно использовать \d, для поиска букв - \w, для пробелов - \s и т.д.
3. Учитывать возможность наличия специальных символов в строке. Если в поиске могут быть специальные символы, их нужно экранировать с помощью обратного слэша \.
4. Учитывать регистр символов. Если нужно игнорировать регистр символов, следует использовать флаг i после завершающего слеша.
5. Не забывать про квантификаторы. Они позволяют указать количество повторений символов или групп.
Пример написания регулярного выражения на языке PHP:
$pattern = '/\d{2}-\d{2}-\d{4}/'; // Поиск даты в формате dd-mm-yyyy $string = 'Today is 30-12-2022'; preg_match($pattern, $string, $matches); print_r($matches);
В данном примере мы используем регулярное выражение для поиска даты в формате dd-mm-yyyy в строке. С помощью функции preg_match мы ищем соответствие паттерну в строке и выводим результат.