.Net Regex没有按预期工作。以下应该会成功$ true。任何想法?
PS C:\Users\john\Desktop\ser> $s = "N:3"
PS C:\Users\john\Desktop\ser> using namespace System.Text.RegularExpressions
PS C:\Users\john\Desktop\ser> $s
N:3
PS C:\Users\john\Desktop\ser> $m = [Regex]::Match("N:", $s)
PS C:\Users\john\Desktop\ser> $m
Groups : {0}
Success : False
Name : 0
Captures : {}
Index : 0
Length : 0
Value :
成功= $ false?这是怎么回事?
然而,以下C#代码报告成功:
string s = "N:";
var m = Regex.Match("N:", s);
if (m.Success) {
MessageBox.Show("Success!");
}
else {
MessageBox.Show("No Match");
}
当我运行这个C#代码snipplet时,它报告成功。
答案 0 :(得分:0)
误报。我才意识到我已经切换了参数。
PS C:\Users\john\Desktop\ser> $s = "N:3"
PS C:\Users\john\Desktop\ser> using namespace System.Text.RegularExpressions
PS C:\Users\john\Desktop\ser> $s
N:3
# Switch Arguments around
PS C:\Users\john\Desktop\ser> $m = [Regex]::Match($s, "N:")
PS C:\Users\john\Desktop\ser> $m
Groups : {0}
Success : True
Name : 0
Captures : {0}
Index : 0
Length : 2
Value : N: