Парсер регулярных выражений и пользовательский escape-символ - PullRequest
1 голос
/ 11 октября 2011

У меня есть строка, из которой я хотел бы выбрать подстроки с этого начала и заканчивать знаком плюс.

пример:

text +name+ filler with /+ sign +b+ bold text +/b+

Я бы хотел выбрать +name+ +b+ и +/b+, но мое текущее регулярное выражение будет рассматривать + sign + как возможное значение"

это регулярное выражение, которое я использую \+[\-@\w\s\d\/\!]*\+

Я пытался добавить [^/] впереди, но это добавляет любой символ, который был до + и не может иметь делос +n++b+

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

1 Ответ

2 голосов
/ 11 октября 2011

Негативный вид сзади выглядит так (?<!/). Это соответствует, только если предыдущий символ не является /.

Пример:

(?<!/)\+[^+]*\+

Примечание:

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