Regex в MS Word, чтобы получить слово, предшествующее найденному? - PullRequest
0 голосов
/ 26 мая 2009

В основном я использую функцию поиска и замены MS Word (подстановочный знак: true)

но текст, который я должен отредактировать, содержит материал, который портит поиск:

//more text in different format above

<file name="london_bitmap" bits="24", owner="sergio"> 1 2 3 </file>
<file name="paris_bitmap" bits="24", owner="sergio"> 1 2 3 </file>
<file name="moscow_bitmap" bits="24", owner="sergio"> 1 2 3 </file>

Я хочу заменить растровое изображение на префикс bmp так:

<file name="bmp_london" bits="24", owner="sergio"> 1 2 3 </file>

Когда я использую что-то вроде этого:

(<*>)_(<bitmap>)

захватывает не 1 строку, а все, что может найти, пока не достигнет «растрового изображения»

Есть идеи, как это решить? Может быть, но получить слово, предшествующее «растровому изображению»?

Ответы [ 2 ]

1 голос
/ 26 мая 2009

Следующее работает (в Word 2003) как строка поиска

([!"]@)_(<bitmap>)

Часть [! "] Означает: соответствует любому отдельному символу, который не символ двойной кавычки, а квалификатор @ означает« найти хотя бы один из предшествующих ». Я ожидаю, что вы уже знаете :) это

bmp_\1

Надеюсь, это поможет!

0 голосов
/ 26 мая 2009

Не уверен, что слово поддерживает ленивую оценку, но вы можете попробовать заменить * на *?

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