Как правильно написать регулярку?

Ссылка скопирована
1 ответ

Есть некоторая строка вида:

$$первый заголовок$$[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
Игорь Волков Ответ

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

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);

$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 мы ищем соответствие паттерну в строке и выводим результат.

Другие ответы (0)

Пока нет других ответов. Будьте первым, кто поможет автору.

Ответить на вопрос

комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Вам также может быть интересно