В предложении аналогично:Как совместить '+ abc', но не '++ abc' без lookbehind?
Lorem Ipsum + Dolor ++ сидеть Амет.
Я хочу совместить +dolor
, но не ++sit
. Я могу сделать это с lookbehind, но так как JavaScript
не поддерживает его, я изо всех сил пытаюсь построить шаблон для него.
До сих пор я пытался сделать это с:
(?:\+(.+?))(?=[\s\.!\!]) - but it matches both words
(?:\+{1}(.+?))(?=[\s\.!\!]) - the same here - both words are matched
и к моему удивлению, картина, как:
(?=\s)(?:\+(.+?))(?=[\s\.!\!])
ничего не найдено. Я думал, что смогу обмануть его и использовать \s
или позже также ^
перед значком +
, но он не работает так.
EDIT - справочная информация:
Это не обязательно часть вопроса, но иногда это хорошо, чтобы знать, что все это хорошо так, чтобы прояснить некоторые вопросы/комментарии краткое объяснение:
- любое слово в любом порядке можно по ознаменован либо в
+
или++
- каждое слово, и это маркировка будет заменена
<span>
позже - случаи как Lorem + Ipsum являются concidered недействительным, поскольку это было бы как разделив слово (ро + ом) или написание двух слов в одно слово (myroom) поэтому он должен быть исправлен в любом случае (шаблон может соответствовать этому, но это не ошибка), следует, однако, по крайней мере соответствовать нормальным случаев, как в приведенном выше примере
- Я использую предпросмотр как
(?=[\s\.!\!])
, так что я могу соответствовать словам в любом языке не только\w
персональные данные
Вы хотите совместить '+ bar' в' foo + bar'? –
Нет, это предложение, и таких случаев не будет. Перед '+' всегда будет либо пробел '\ s', либо'^'. – t3chb0t
, то почему вы приняли ответ, который захватывает '+ bar' в' foo + bar'? –