2012-04-10 3 views
0

«не следует» оператор выглядит следующим образом: (в быстрых ссылки на http://regexpal.com/)Регулярное выражение - не следующее - цепочка?

?!exprssion 

Могу ли я цепь их вместе, как это?

?!(?!exprssion) 

Почему я прошу вас спросить?

, потому что мне нужно разделить() на

| 

или

| not follwed by |* 

но

| followed by |** is O.K. 

Смотрите, как это будет сложно?

Разбитое Попробуйте

.split(/\|\*\*|\|(?!\*)/); 

Это не работает, потому что она распадается на

|** 

и мне нужен мой раскол на

| 

ответ

3

Сплит на этом:

\|(?!\*)|\|\*\* 

Это говорит: либо труба, за которой следует что-то не звезда (которую мы не будем использовать для разделения), либо трубу, за которой следуют 2 звезды (используйте все, чтобы разделить). Я не уверен в вашей формулировке, если это то, что вы ищете. Если вы имеете в виду «раскол на трубе, если это не следует одна звезда, но разделить на трубе ниже на 2 звезды», а затем использовать это:

\|(?!\*[^*]) 

Демо: http://codepad.org/Gt0xNQNO

+0

Я думаю, что мое второе решение, что вам необходимо на основе вашего обновления добавить ссылку на код в действии – Cal

Смежные вопросы