Я пытаюсь определить регулярное выражение, чтобы оно соответствовало всем случаям *this kind of strings*
.Два дополнительных правила, к сожалению, сделали эту вещь более сложной, чем я думал:
- помеченная строка должна начинаться с
*
, за которым следует непробельный символ (поэтому * this one*
не должен совпадать - помеченная строка должна заканчиваться непустым пробелом, за которым следует
*
, за которым следует пробел (поэтому *this one *
и *this o*ne
не должны совпадать
Я начал с простейшего регулярного выражения \*\S([^\*]+)?\*
, которое для моегострока тестирования:
*foo 1 * 2 bar* foo *b* azz *qu **ux*
соответствует местам в квадратных скобках:
[*foo 1 *] 2 bar* foo [*b*] azz [*qu *][*ux*]
, и это то, чего я хотел бы достичь:
[*foo 1 * 2 bar*] foo [*b*] azz [*qu **ux*]
, поэтому появляются 2 проблемы:
- как выразить в регулярном выражении правило от 2. "поиск до первого непробельного символа, следующего за
*
с пробелом появляется «положительный взгляд» - как сопоставить пробел из правила 2. но не включить его в результат, что
\*\S([^\*]+)?\*\s
будет делать?