Нужна помощь в регулярном выражении с некоторой сложной строкой в C#.Регулярное выражение для разделения строк с различными разделителями
Строка у меня есть:
-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3
Раскол Я хочу это:
MATCH 1:
-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1
MATCH 2:
-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2
MATCH 3:
-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3
Я испробовал Regex.Split() на основе шаблона в соответствии с строкой с тире (-), но проблема в том, что я хочу, чтобы это тоже было частью разделения. Я в порядке с этим давая мне отдельные матчи для строки и фактический комментарий, наряду с - строки, но с этим я получаю дубликаты:
string input = "-- [AUG-24-14 11:58 PM (EDT) Mickey Rahman] --------------Comment 1-- [AUG-24-14 11:40 PM (EDT) Mickey Rahman] --------------Comment 2-- [AUG-22-14 11:51 PM (EDT) Automation User] --------------TEST 3";
string pattern = "((?<=--)(.*)(?=--------------))";
string[] substrings = Regex.Split(input, pattern); // Split on hyphens
int i = 1;
foreach (string match in substrings)
{
Response.Write("MATCH " + i.ToString() + ":" + string.Format("{0}", match) + "<br>");
i++;
}
с этим, выход я получение:
MATCH 1:-- MATCH 2: [AUG-24-14 11:58 PM (EDT) Mickey Rahman] MATCH 3: [AUG-24-14 11:58 PM (EDT) Mickey Rahman] MATCH 4:-------------- Comment 1 -- MATCH 5: [AUG-24-14 11:40 PM (EDT) Mickey Rahman] MATCH 6: [AUG-24-14 11:40 PM (EDT) Mickey Rahman] MATCH 7:-------------- Comment 2 -- MATCH 8: [AUG-22-14 11:51 PM (EDT) Automation User] MATCH 9: [AUG-22-14 11:51 PM (EDT) Automation User] MATCH 10:-------------- TEST 3
При использовании метода split слишком сложно, попробуйте использовать метод «Матчи» с помощью якоря '\ G'. –