Регулярное выражение для поиска и замены строки в XML - PullRequest
0 голосов
/ 13 мая 2009

Я ищу одно регулярное выражение, которое может соответствовать строке для трех конкретных случаев в XML-файле:

  1. : двойные кавычки, окружающие строку.
  2. : строка, окруженная символами больше и меньше .
  3. : строка, окруженная символами ; и & .

Пример: * * один тысяча двадцать-одна

  • "MyString" - действительное совпадение
  • > MyString <</b> - действительное совпадение ; MyString & - действительное совпадение

Другие возможные комбинации недопустимы.

"MyString <</b> - недопустимое совпадение ; MyString " - Неверное совпадение

Ответы [ 2 ]

4 голосов
/ 13 мая 2009

Попробуйте это: ("MyString")|(>MyString<)|(;MyString&)

2 голосов
/ 13 мая 2009

Вы не можете использовать регулярные выражения для разбора XML, это не обычная грамматика. Серьезно используйте xml-парсер.

Когда вы используете свой анализатор для проверки значений текстовых узлов тогда и только тогда , вы можете захотеть использовать (\".*?\")|(>.*?<)|(;.*?&), но я сомневаюсь, что вы обнаружите, что проблема сформулирована таким же образом. > MyString <является <em>очень подозрительным.

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