[新手上路]批处理新手入门导读[视频教程]批处理基础视频教程[视频教程]VBS基础视频教程[批处理精品]批处理版照片整理器
[批处理精品]纯批处理备份&还原驱动[批处理精品]CMD命令50条不能说的秘密[在线下载]第三方命令行工具[在线帮助]VBScript / JScript 在线参考
返回列表 发帖

[问题求助] PS的正则匹配结果和C#方法的匹配结果不一致

刚刚发现一个问题, 同一个正则表达式 (ab|cd)jk   , PS和C#的结果不同, 求高手指引, 提前感谢!


"abjk kkk cdjk" -match '(ab|cd)jk'
$matches

-----------------------------------------------------结果如下
True


Name                           Value
----                           -----
1                              ab
0                              abjk

___________________________________________________________________________




[Regex]::Matches("abjk kkk cdjk", "(ab|cd)jk")
-----------------------------------------------------结果如下
Groups   : {0, 1}
Success  : True
Name     : 0
Captures : {0}
Index    : 0
Length   : 4
Value    : abjk


Groups   : {0, 1}
Success  : True
Name     : 0
Captures : {0}
Index    : 9
Length   : 4
Value    : cdjk
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

回复 2# idwma


感谢大侠指引, 看来C#的方法还是不可或缺,
本人所发所有贴子或代码, 诸大侠若认为有改进之处,请不吝赐教,感激不尽!

TOP

还在纠结这个问题呀
-match参数不等于matches方法,没法用这个参数进行全局匹配的.
  1. [Regex]::Match("abjk kkk cdjk", "(ab|cd)jk")
复制代码

TOP

返回列表