Powershell с помощью Regex находит строку в строке - PullRequest
3 голосов
/ 18 января 2011

Нужна помощь в использовании регулярных выражений и powershell для достижения следующих целей.У меня есть следующая строка примера:

<INPUT TYPE="hidden" NAME="site2pstoretoken" VALUE="v1.2~04C40A77~23"\><INPUT TYPE="hidden" NAME="p_error_code" VALUE="">

Единственное, что я хочу извлечь из этой строки примера, это хеш, хранящийся в VALUE.Хеш очень длинный, поэтому мне нужно перехватить все между VALUE = ".... HASH ...." \>

Как будет выглядеть регулярное выражение?

1 Ответ

3 голосов
/ 18 января 2011

Попробуйте это с предупреждением, что парсинг html с регулярными выражениями - плохая идея :

$regex = [regex]'(?<=VALUE=")[^"]*'
$regex.Match('te2pstoretoken" VALUE="v1.2~04C40A77~23"\><INP').Value

Edit: И этот код работает так же:

if ('te2pstoretoken" VALUE="v1.2~04C40A77~23"\><INP' -match '(?<=VALUE=")[^"]*') { 
   $matches[0] 
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...