Есть много вопросов о регулярных выражениях в ожидании, но я не нашел ответа. Я новичок в ожидании, но не в регулярных выражениях. У меня есть переменный в качестве сценария ожидать с этим текстом:ожидать: разбор переменной
IP Address Source : Static Address
IP Address : 1.2.3.4
Subnet Mask : 255.255.255.0
Я хотел бы разобрать значения на правой стороне двоеточия. Я пробовал различные версии следующих, но я не получаю матч.
if { [regexp -linestop "IP Address\s*:\s*(.+)" $network ignore ip] } {
puts "IP: ($ip)"
}
Похоже, что \ s не распознается как пробел в ожидании? Также попробовали версии с [[: space:]]. Мне нужно искать пробелы, чтобы отличить вторую строку от первой. Это соответствует чему-то (не то, что я хочу), но когда я добавляю '\ s', как указано выше, он не совпадает вообще.
if { [regexp -linestop "IP Address(.+)" $network ignore ip] } {
puts "IP: ($ip)"
}
Спасибо за ответ, но я имею более основную проблему там, где она кажется \ s не интерпретируются как общий пробельный матч в моем сценарии –
это работает Здесь хорошо, https://regex101.com/r/bO4aX4/2. Не знаю, в чем проблема – apgp88
Проблема в том, что '\ s' интерпретируется как' s' ... –