регулярное выражение для сопоставления, где части строки не совпадают - PullRequest
2 голосов
/ 11 июля 2011

У меня есть что-то вроде этого

stuff(123)=stuff(123)
stuff(23434)=stuff(234324)

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

У меня есть это, но, похоже, оно не работает:

\\(stuff([0-9]+)\\)=[^\\1]

Также я пытаюсь сделать это с помощью поиска в регулярных выражениях emacs.

Ответы [ 2 ]

4 голосов
/ 11 июля 2011

Исходя из вашего ответа на мой комментарий, я бы использовал flush-lines:

M-x flush-lines RET \(stuff([0-9]+)\)=\1 RET

Обратите внимание, что вы используете только одну обратную косую черту в минипромтере

0 голосов
/ 11 июля 2011

if(false==foo.match(/(stuff\([0-9]+\))=\1/) - это то, что вы хотите.Зависит от вашего диалекта регулярных выражений.Вы не можете [^\\1], [] это класс символов .

Возможно, вы захотите взглянуть на утверждения нулевой ширины.Опять же, это зависит от вашего диалекта.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...