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

#javascript #regex

Вопрос:

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

Пример :

 $ blah **deneme** blah $ xxx **bold** xxxxx $ blah **bold** blah $
 

Первая группа-это $ blah **deneme** blah $

Вторая группа-это $ blah **bold** blah $

Я хочу получить это в регулярном **bold** выражении , поэтому оно должно начинаться с ** , заканчиваться, ** но не может быть членом $...$ группы

Я написал регулярное выражение, но мне нужно было бы выбрать противоположное.

 /(?:$)(.*?)[*_]{2}([^*_] )[*_]{2}(.*?)(?:$)/gm
 

Комментарии:

1. Спасибо вам за помощь. Но мне нужно все ** жирное ** слово, но это не должно быть в группе, которая начинается с $ и заканчивается на $. Выбор в ссылке, которую я дал, неверен. Мне не нужна группа, которая начинается и заканчивается на$, мне просто нужен жирный шрифт, которого нет в этой группе.

Ответ №1:

Вы можете использовать это регулярное выражение с оглядкой:

 **S ?**(?=(?:(?:[^$]*$){2})*[^$]*$)
 

Демонстрация регулярных выражений

Сведения о регулярном выражении:

  • ** : Начало матча **
  • S ? : Сопоставьте 1 или более символов, которые не являются пробелами (ленивый)
  • ** : Окончание матча **
  • (?=(?:(?:[^$]*$){2})*[^$]*$) : Посмотрите, чтобы утверждать 0 или более пар $..$ впереди, чтобы убедиться, что мы не совпадаем внутри $...$

Комментарии:

1. есть еще одна вещь, это выбор **** ,я думаю, что это ошибка. как я могу это исправить regex101.com/r/d61GWI/1

2. Когда я пытаюсь изменить это выражение для одного*, оно также получает ** отмеченное звездочкой выражение

3. Я добавил к вопросу как можно больше примеров и подготовил ссылку на регулярное выражение, и я надеюсь, что смогу объяснить, чего я хотел. Большое вам спасибо за вашу помощь. regex101.com/r/hQdXhi/1 @анубхава

4. Большое вам спасибо за вашу помощь. Пожалуйста, прости меня за то, что я новенькая. Я не хотел быть несправедливым. Я задам Большую часть с новым вопросом.

5. Большое спасибо за ваше понимание. Я постараюсь оказать как можно больше помощи и по вашим новым вопросам.