0
string line = @"George\t15\tStudent\tAddress\tB:\temp\profilepic.png";

string[] results = Regex.Split( line, @"(?<![a-zA-Z]:)\\t" )

它产生这个列表:

George
15
Student
Address
B:\temp\profilepic.png

但我无法理解它是如何工作的,尤其是我找不到有关“<”运算符的信息。

4

2 回答 2

3

<在这种情况下,它本身不是运算符。它是 (?<!)构造的一部分,它执行负面的lookbehind。负向后看可能是一个棘手的概念,我个人认为它属于“高级正则表达式”的范畴。

(?<!开始组并)关闭它。

于 2012-04-20T21:24:58.677 回答
3

?<!是一个否定的后向断言。此表达式转换为“查找一个\t不紧跟在字母和冒号前面的字符”。

于 2012-04-20T21:26:16.430 回答