2011-08-04 6 views
2

Я попытался создать синтаксис regex для этого, но мне не удалось.Regex - соответствует строке, не содержащей «полуслоя»

У меня есть 2 переменные

игрока [playerid] [плевел] и Характер [playerid]

, и я хочу, чтобы поймать только вторую переменную, я имею в виду только мир, что не содержат игрока, но cointains [playerid]

"(\S+)\[playerid\]" Cath оба слова и (\S+[^PlayerInfo])\[playerid\] прыжок на некотором variables- они contais р, ​​л, а, у ...

Мне нужно заменить в Notepad ++, все переменные, такие как Текст [playerid] к ExClass [playerid] [Текст]

+0

Можете ли вы, пожалуйста, правильно задать свой вопрос? Я не уверен, что с этим делать. http://stackoverflow.com/editing-help – BoltClock

+0

Очень запутанный вопрос. –

ответ

1

Пара Pluasible решений.

пункт Список

  1. Блокнот имеет плагин под названием python script. Запуск регулярных выражений из там дает полную функциональность регулярных выражений, версию питона в любом случае, и много мощного потенциала за этого. И я использую online python regex tester, чтобы помочь.
  2. Плагин RegRexReplace помогает создавать плагины regex в Notepad ++, поэтому, когда вы нажимаете ограничение, вы узнаете намного быстрее.
  3. Или, конечно, по умолчанию ваш альтернативный редактор (я предполагаю, что у вас есть один?), Или этот онлайн regex tool абсолютно потрясающий. Вы также можете выполнить действие в тексте онлайн .

(Я бы попытался создать для вас регулярное выражение, но я немного потерял то, что вы ищете. Если бы Иво Абелос не получил его. Если вы все еще не знаете, возможно, пример кода вместе с отображаемыми значениями?) Удачи!

+0

Инструмент Regex из no.3 не поддерживает регулярное выражение. [Regex Tester] (http://www.regextester.com/) лучше. –

0

Попробуйте использовать отрицательную 'назад.

(?<!PlayerInfo)\[playerid\] 

EDIT: к сожалению, Notepad ++ не поддерживает отрицательный просмотра назад.

Я попытался сделать обходной путь, основанный на следующей наивной идее: (. [^ О] | [^ е] о)

[playerid]

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

+1

Нет, Notepad ++ не поддерживает это. – BoltClock

+0

v6 + поддерживает отрицательный внешний вид – RJFalconer

0

В Notepad ++ можно попытаться заменить (.+)\[(.+)\] с ExClass\[\2\]\[\1\]

1

Кажется, что Notepad ++ поддерживает отрицательный lookbehind с v6.

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