Как узнать, какие символы мне нужно экранировать в регулярных выражениях? - PullRequest
0 голосов
/ 01 декабря 2011

Я пытаюсь получить строки из XML-файла с помощью grep , но я не очень хорошо разбираюсь в регулярных выражениях и не знаю, какие символы мне нужно экранировать, чтобы получить этот регулярный Строка выражения для работы:

grep -o -P '<row value="[a-zA-Z0-9\-\.\/:=_]*" count="[0-9]*">[a-zA-Z0-9\-\.\/:=_]*</row>'

Я пытался убежать от каждого персонажа, но это не сработало. Какое решение?

Ответы [ 2 ]

1 голос
/ 01 декабря 2011

Вы regex не допускаете пробелы в тексте. Текст, который вы пытаетесь найти, имеет Test Tester, что не соответствует вашему шаблону [a-zA-Z0-9\-\.\/:=_ ]*. Вам нужно добавить пробел к нему.

Попробуйте это:

grep -o -P '<row value="[a-zA-Z0-9\-./:=_]*" count="[0-9]*">[a-zA-Z0-9\-./:=_ ]*</row>' 
0 голосов
/ 01 декабря 2011

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

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