我正在尝试使用 -match 运算符来匹配以小写字母开头的字符串。
但
"ABC" -match "^[a-z]" //return true
Run Code Online (Sandbox Code Playgroud)
我知道有一个版本-cmatch将使用区分大小写的匹配。但由于我强制它以小写开头,所以即使我使用它也应该工作吗- match?
这是 Powershell 上的错误吗?或者是有意为之,-match无论如何都不会尊重案件?
如果是故意的,为什么?
如有疑问,请阅读文档。
\n\n\n\n\n默认情况下,所有比较运算符都不区分大小写。要使比较运算符区分大小写,请在运算符名称前面加上
\nc.
强调我的。
\n\n要使正则表达式匹配区分大小写,您可以使用区分大小写的匹配运算符 (-cmatch ):
\'ABC\' -cmatch \'^[a-z]\' # evaluates to $false\nRun Code Online (Sandbox Code Playgroud)\n\n或添加一个杂项构造,其中包含禁用与表达式的不区分大小写匹配的选项,如Wiktor Stribi\xc5\xbcew建议的那样:
\n\n\'ABC\' -match \'(?-i)^[a-z]\' # evaluates to $false\nRun Code Online (Sandbox Code Playgroud)\n\n各种构造中的正则表达式选项优先于运算符的默认行为。
\n| 归档时间: |
|
| 查看次数: |
651 次 |
| 最近记录: |