У меня проблемы с некоторым кодом, который должен быть простым.
namespace CSharp
{
using System;
using System.Text;
using System.Text.RegularExpressions;
public class Tester
{
static void Main()
{
string s1 = "One,Two,Three Liberty Associates, Inc.";
Regex theRegex = new Regex(" |, |,");
StringBuilder sBuilder = new StringBuilder();
int id = 1;
foreach (string subString in theRegex.Split(s1))
{
sBuilder.AppendFormat("{0}: {1}\n", id++, subString);
}
Console.WriteLine("{0}", sBuilder);
}
}//tester class
}//namespace
Что выводит:
1: One
2: Two
3: Three
4: Liberty
5: Associates
6: Inc.
Если я изменю вызов конструктора для нового Regex ("|,") ; Я получаю:
1: One,Two,Three
2: Liberty
3: Associates
4: Inc.
Я знаю | есть или, и я разбираю, и пробел, но я не понимаю, как это работает, и почему мне нужно, чтобы его дали дважды.