如何验证字符串是否也以一个或多个空格开头和结尾?
if [[ $username =~ [^0-9A-Za-z]+ ]]
Run Code Online (Sandbox Code Playgroud)
(基本上输入应该是字母数字,任何地方都不能有空格,即使在开头或结尾,也不能有逗号、下划线、连字符等)
不幸的是,上面的正则表达式不匹配前导和尾随空格,但它匹配之间的空格?
没有 awk、sed,有什么方法可以修复上述正则表达式以匹配前导和尾随空格吗?
提前致谢
我有一个数组对象$ a,它返回如下所示的输出.

通过执行$ a [0] .Name,我可以访问每个"Name"条目,$ a [0].可以访问其相应的可用空间.
我有另一个数组说$ b包含一些名字,比如说$ b给我两个名字"sandeep_aggr1"和"aggr4".这只是一个数组(没有像Name,Avaiable这样的属性),而不是一个对象,所以它不能使用Compare-Object.
我想删除原始对象$ a中的其他条目,但"Name"等于"sandeep_aggr1"和"aggr4"的条目除外.
这就是我在做的事情.
foreach($bb in $b)
{
foreach($aa in $a)
{
if($aa.Name -ne $bb)
{
$aa.Remove($aa.Name)
}
}
}
echo $a
Run Code Online (Sandbox Code Playgroud)
但是,我没有看到删除的元素,我在这里遗漏了什么?任何帮助赞赏
我试图读取"-Dhttp.port"值没有运气.
您可以在附件中看到,"选项"是一个子键,我可以使用以下代码段读取"选项"(这显示了不必要的PowerShell项目)
Get-ItemProperty $PATH -Name "Options"
Run Code Online (Sandbox Code Playgroud)
现在从多行"选项"我想读取特定子键"-Dhttp.port"的值,这里是80

Get-ItemProperty输出$ PATH -Name"选项"是

我想只读"选项",而从选项键我想读取"-Dhttp.port"的值.