Регулярное выражение: соответствует специальному символу, который не следует шаблону - PullRequest
0 голосов
/ 14 мая 2019

Можно ли сопоставить специальный символ в регулярном выражении, который не следует определенному шаблону?

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

регулярное выражение для соответствия шаблону $ some_text $:

(\$[a-zA-Z_-]+\$)

Идея:

  1. Соответствует всему, кроме указанного выше шаблона
  2. этого результата, сопоставьте все символы $

Я не уверен, возможно ли вообще вообще 1., так как мои идеи с негативным взглядом требуют фиксированной длины.

Язык - Java

1 Ответ

0 голосов
/ 14 мая 2019

Regexp не подходит для этой задачи

Как вы планируете соответствовать $ abc $ def $?Это приводит к \ $ abc $ def $ или $ abc $ efg \ $?

Вторая проблема заключается в том, что вы пытаетесь сопоставить сбалансированные пары знаков $, и поэтому регулярное выражение не является хорошим решением, так как это плохой механизм сопоставления сбалансированных пар символов или сбалансированных скобок.

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

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

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