/
maxja
/
OneSTools.TechLog-Vault
Обзор
Документация
Войти
/
maxja
/
OneSTools.TechLog-Vault
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
master
OneSTools.TechLog/LocksInfoRegion.cs
34 строки
1 KB
Акпаев Евгений Александрович
Фиксация промежуточной работы
28 янв 2021, 00:44
28 янв 2021, 00:44
6a49a7d
Код
Авторство
О чём код?
using System.Collections.Generic; using System.Text.RegularExpressions; namespace OneSTools.TechLog { public class LocksInfoRegion { public string Region { get; } public string BlockingMode { get; } public List<(string Field, string Values)> FieldValues { get; } = new List<(string, string)>(); public string Hash { get; } public LocksInfoRegion(string locks) { Hash = TechLogItem.GetMd5Hash(locks); Region = Regex.Match(locks, @"^\w+\.\w+", RegexOptions.ExplicitCapture).Value; BlockingMode = Regex.Match(locks, @"(?<=^\w+\.\w+ ).*?(?= )", RegexOptions.ExplicitCapture).Value; var fields = Regex.Matches(locks, @"\w+=.*?(?=( \w+=|$))", RegexOptions.ExplicitCapture); foreach (Match fieldMatch in fields) { var fieldData = fieldMatch.Value; var splitIndex = fieldData.IndexOf('='); var field = fieldData[..splitIndex]; var value = fieldData[(splitIndex + 1)..]; FieldValues.Add((field, value.Trim('"'))); } } } }