2013-09-12 2 views
0

У меня есть большой файл notepad ++ и есть экземпляр, где поле имеет длину 16, которая может содержать числа и буквы, за которыми следует запятая, а затем другое поле, которое начинается с букв. Я пытаюсь убедиться, что следующее поле после запятой начинается с ".Использование Regex в Notepad ++ для замены символа

До сих пор у меня есть это регулярное выражение. Я проверил его с выражениями ruby, и это выглядит правильно. Я просто не знаю, как вставить" после запятой, чтобы начать следующее поле. Это, наверное, очень просто, я просто что-то пропустил. Любая помощь по этому вопросу будет принята с благодарностью!

([a-zA-Z0-9]{16}\,[a-zA-Z]+) 

Так что я хочу, чтобы добавить "после того, как сбежавшую запятую выше.

+2

Что случилось с просто добавить '\ "' после '\,' для запятой? –

+1

@KenWhite OP пытается выполнить поиск и заменить –

ответ

1

Есть два варианта.

Вы можете использовать capturing и записать обратно то, что вы соответствует (в дополнении к кавычкам) :.

([a-zA-Z0-9]{16},)([a-zA-Z]+) 

Каждый набор скобок генерирует захваченный группу Вы можете ссылаться на то, что они согласованы с $n в строке замены: $1"$2.

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

Альтернативный вариант lookarounds. То, что вы сопоставляете внутри поиска, не является частью матча, поэтому оно не удаляется. Если вы поместите все вокруг в нужное положение в lookarounds, вы будете соответствовать позиции вместо строки, а строка замены будет просто вставить в таком положении:

(?<=[a-zA-Z0-9]{16},)(?=[a-zA-Z]+) 

И заменить это ".

В любом случае, убедитесь, что обновление до Notepad ++ 6.

Наконец, обратите внимание, что в обоих случаях + в конце концов, это не имеет значения - если есть одна буква, есть также «один или несколько букв». (Существует очень маловероятно края случай, когда это будет иметь значение, но это, вероятно, выходит за рамки этого вопроса.)

+0

Большое спасибо. Я использовал первый ответ, и он работал. Я никогда не использовал замену при использовании регулярного выражения в блокноте ++ просто найдите. Отныне я сейчас сделаю это. Спасибо! – Tastybrownies

1

Это следует сделать это:

([a-zA-Z0-9]{16}\,\"[a-zA-Z]+) 
Смежные вопросы