为了和PowerShell的习惯保持一致,操作符-match是大小写不敏感的,如果你想切换至大小写敏感的操作符可以使用“-cmatch”
# -match 大小写不敏感: "hello" -match "heLLO" True # -cmatch 大小写敏感: "hello" -cmatch "heLLO" False
如果你只想在模式的部分片段中使用大小写敏感,仍旧可以使用-match,但是可以在正则表达式中指定部分模式是不是大小写敏感。跟在“(?i)”结构后的字符大小写不敏感,跟在(?-i)结构后面的字符大小写敏感。下面的例子会演示这个区别,模式中的字符字串 “st”因为被(?-i)标记为大小写敏感,所以可以匹配“TEst”,但不能匹配“TEST”。
但是如果你使用的是.NET framework的对象RegEx,它可以自动的在大小写敏感与不敏感之间切换。既可以使用IgnoreCase参数来显示的指定,也可以在模式中使用上面提到的结构来指定。
PS > [regex]::matches("test", "TEST", "IgnoreCase") Groups : {test} Success : True Captures : {test} Index : 0 Length : 4 Value : test
本文链接: https://www.pstips.net/regex-case-sensitivity.html
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!
请尊重原作者和编辑的辛勤劳动,欢迎转载,并注明出处!