正则表达式代码解释

Twe*_*yMK 1 .net regex

有人可以告诉我这行代码意味着什么,我知道它寻找正则表达式,但我不明白最后的位.

System.Text.RegularExpressions.Regex("(?<=<Last>).*(?=</Last>)");
Run Code Online (Sandbox Code Playgroud)

提前致谢.

ste*_*ema 5

(?<=<Last>)是断言背后的看法.这意味着它.*只有<Last>在前面有匹配时才匹配

(?=</Last>)是一个展望未来的断言.确保有<\Last>以下内容.*

有关.net中正则表达式的更多信息,请访问msdn.

注释,提供的示例不是完整的代码行(请参阅msdn上的Class Regex)

这应该是这样的一部分:

Regex MyRegex = new System.Text.RegularExpressions.Regex("(?<=<Last>).*(?=</Last>)");
Run Code Online (Sandbox Code Playgroud)

这会创建一个新的Regex对象.

另一种可能是使用正则表达式而不创建正则表达式对象,使用静态方法看起来像这样isMatch:

System.Text.RegularExpressions.Regex.IsMatch(StringToSearchIn, "(?<=<Last>).*(?=</Last>)")
Run Code Online (Sandbox Code Playgroud)

返回true或false.