1 (изменено: sergeich, 2024-07-23 22:04:53)

Тема: AHK: Парсинг строки

Привет всем! И снова к вопросу парсинга строки из Open Hardware Monitor Report ))
Помогите пожалуйста распарсить строку:

|  +- CPU Core #1    :       52       58       60 (/intelcpu/0/temperature/0)

Необходимо вытащить цифры 58, 58, 60 в переменные. Пробовал с помощью RegExReplace, но не получается.
Спасибо!

2

Re: AHK: Парсинг строки

Может, RegExMatch на что сгодится?

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

3

Re: AHK: Парсинг строки

teadrinker
Да, точно, спасибо! Буду пытаться дальше.

4

Re: AHK: Парсинг строки

Публикуйте свои попытки тут.

Разработка AHK-скриптов:
e-mail dfiveg@mail.ru
Telegram jollycoder

5

Re: AHK: Парсинг строки

Не пойму как вывести второе и третье вхождение отдельно


InputString := " |  +- CPU Core #3    :       52       58       60 (/intelcpu/0/temperature/0)"
RegExMatch(InputString, "(\d{2}.*\d{2}.*\d{2})", Match)
MsgBox % Match1

Результат: 52       58       60

6 (изменено: __Михаил__, 2024-07-24 01:19:03)

Re: AHK: Парсинг строки

RegExMatch(InputString, "(\d{2}).*(\d{2}).*(\d{2})", Match)
MsgBox, % Match1 " " Match2 " " Match3
Win11x64, AHK v1.1.37.01 (Unicode 64-bit), AHK v2.0.17| AHK-Wiki | Переменные и выражения | RegEx101

7 (изменено: sergeich, 2024-07-24 11:31:55)

Re: AHK: Парсинг строки

__Михаил__
Спасибо, работает такой вариант!

Итоговый шаблон:


InputString := " |  +- CPU Core #3    :       52       58       60 (/intelcpu/0/temperature/0)"
RegExMatch(InputString, "(\d+)\s*(\d+)\s*(\d+)", Match)
MsgBox % Match1 " " Match2 " " Match3