这个正则表达式如何工作?

时间:2012-04-20 21:20:01

标签: c# regex

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

但是我无法理解它是如何工作的,特别是我找不到关于“&lt;”的信息。操作

2 个答案:

答案 0 :(得分:3)

在这种情况下,

<本身不是运营商。它是(?<!)构造的一部分,它执行negative lookbehind。负面观察可能是一个棘手的概念,我个人认为它属于“高级正则表达”类别。

(?<!开始论坛,)关闭它。

答案 1 :(得分:3)

?<!是一个负面的背后断言。此表达式转换为“查找一个字母和冒号之后不会立即出现的\t字符”。