регулярное выражение строки - PullRequest
0 голосов
/ 23 января 2012

Я хочу поместить значение процентаComplete в jobStatus в переменную для последующего использования в сценарии оболочки. Эти данные поступают в текстовый файл и постоянно выводят эти два абзаца, обновляя данные. Я хочу быть в состоянии получить процентComplete. У меня есть cat текстовый файл, но я не знаю регулярное выражение, чтобы использовать для получения процентовComplete (тот, что внутри jobStatus).

<batchStatus name="" submissionTime="1/23/12 10:00:26 AM" sentBy="mike" 
timeElapsed="43 second(s)" timeRemaining="4 minute(s)" timeElapsedSeconds="43"
timeRemainingSeconds="294" percentComplete="12" resumePercentComplete="0" 
status="Processing" batchid="FD66DC21-6AA4-47FB-A3F0-7300C7BDAB8A" /batchStatus>
<jobStatus name="file.mov" submissionTime="1/23/12 10:00:26 AM" sentBy="mike"
 jobType="Compressor" priority="HighPriority" timeElapsed="43 second(s)" 
timeRemaining="4 minute(s)" timeElapsedSeconds="43" timeRemainingSeconds="294"
 percentComplete="12" resumePercentComplete="0" status="Processing: Transcoding" 
jobid="FDF1A488-51B9-4B9A-908B-FD5D95CE7E92" 
batchid="FD66DC21-6AA4-47FB-A3F0-7300C7BDAB8A" /jobStatus>

Ответы [ 2 ]

1 голос
/ 23 января 2012

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

1 голос
/ 23 января 2012

Это очень плохая идея использовать регулярные выражения для этого, вы были бы намного счастливее, используя парсер XML.

Если вы все еще хотите:

<jobStatus[^>]*percentComplete="([\d]+)"
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...