powershell定义文本,用户交互,正则表达式

news2024/11/20 9:41:18

定义文本

PS C:\Users\Administrator> $site="yuan"
PS C:\Users\Administrator> $text="$site $(get-date) $env:windir"
PS C:\Users\Administrator> $text
yuan 09/16/2022 14:12:26 C:\Windows

在这里插入图片描述

#使用单引号闭合字符串输出双引号
'The site of my blog is"www.mossfly.com"'
#使用转义字符输出双引号
“My blog site is`"www.mossfly.com`""
#在字符串中输出换行符
“The site of my blog is `"www.mossfly.com`",`n飞苔博客"

在这里插入图片描述

定义多行文本

@"
这首诗用来评价陶渊明的诗歌再好不过了

一语天然万古新,豪华落尽见真淳。
南窗白日羲皇上,未害渊明是晋人。
"@

用户交互

如果要提示用户输入可以使用read-host

$name=Read-Host "请输入您的用户名"
请输入您的用户名: Mosser Lee

Read-Host存储的字符串使用的单引号闭合,也就是说不会自动解析变量,不过可以通过ExpandString方法解析,例如:

PS E:> $inputPath=Read-Host "请输入文件路径"
请输入文件路径: $env:windir
PS E:> $inputPath
$env:windir
PS E:> $ExecutionContext.InvokeCommand.ExpandString($inputPath)
C:windows

但是如果想通过Read-Host接受敏感数据,比如密码,可以使用**-asSecureString选项**,不过这样读取到的数据为SecureString,及为加过密后的数据,当然你可以将密码转换成普通文本.

PS E:> $pwd=Read-Host -AsSecureString "请输入密码"
请输入密码: ******
PS E:> $pwd
System.Security.SecureString
PS E:> [Runtime.InteropServices.Marshal]::PtrToStringAuto([Runtime.InteropServices.Marshal]::SecureStringToBSTR($pwd))
abc123

询问用户名和密码Get-credential

如果你想授权一个用户需要提供用户凭据,可以使用Get-Credential命令,该命令会弹出一个安全对话框,一旦用户输入完毕,就会返回一个Credential对象包含用户名和密码

PS E:> $cre=Get-Credential yuan
PS E:> $cre
UserName                        Password
--------                        --------
yuan System.Security.SecureString

正则💥

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

  1. 匹配IP地址
$parttern="\b\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}\b"
               #"\b \d{1,3} \. \d{1,3} \. \d{1,3} \. \d{1,3} \b"
"192.168.10.3" -match $parttern
"a.168.10.3" -match $parttern
"1000.168.10.3" -match $parttern
<#
 #输出
 #True
 #False
 #False
#>
  1. 验证Email格式
    如果你想验证用户提供的E-Mail地址是不是一个合法电子邮件格式,可以使用下面的正则表达式:
#$parttern = "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
#"\b[A-Z0-9 ._%+-]+  @[A-Z0-9.-]+  \. [A-Z]{2,4}\b"
$parttern = "^[A-Z0-9 ._%+-]+ @[A-Z0-9.-]+ \. [A-Z]{2,4}$"
"mosser@pstips.net" -match $parttern
".@ ." -match $parttern
<#
 #输出:
 #True
 #False
#>
  1. 模糊匹配 u?

具体到上面的例子,“u?”就确保了字符“u”在模式中不是必需的。常用的其它限定符,还有“*”(出现0次后者多次)和“+”(至少出现一次)。

"color" -match "colo u? r"
True
"colour" -match "colou?r"
True

匹配多个字符()

"Nov" -match "\b Nov (ember)? \b"
True
"November" -match "\bNov(ember)?\b"
True

如果你想使用多个可选的搜索词语,可以使用“或”操作符“|”:

"Bob and Ted" -match "Alice|Bob"
True

搜索一段话

# 搜索 "and Bob":
"Peter and Bob" -match "and (Bob|Willy)"
True
# 没有搜索到 "and Bob":
"Bob and Peter" -match "and (Bob|Willy)"
False

大小写敏感

# -match 大小写不敏感:
"hello" -match "heLLO"
True
# -cmatch 大小写敏感:
"hello" -cmatch "heLLO"
False

在文本中搜索信息

# 源文本中有两个电子邮件地址,-match只能匹配到一个
$rawtext = "test@pstips.net sent an e-mail that was forwarded to admin@pstips.net."
$rawtext -match "\b[A-Z0-9._%+-]+@[A-Z0-9.-]+\.[A-Z]{2,4}\b"
True
$matches
Name                           Value
----                           -----
0                              test@pstips.net

深入使用子表达式💥

"<body background=1>www.pstips.net</body>" -match "<body\b [^>]* >  (.*?) </body>"
$matches[1]
#True
#www.pstips.net

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/502282.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

【Jeston Orin】Orin nano 8G模块使用官方系统包生成标准烧写系统测试

大家好&#xff0c;我是虎哥&#xff0c;GTC 2023上&#xff0c;NVIDIA正式推出了面向边缘AI的新一代入门款开发套件&#xff0c;Jetson Orin Nano Developer Kit。虽说只是入门套件&#xff0c;但据说相比上一代Jetson Nano有最高达80倍的性能提升&#xff01;于是我在收到包裹…

苹果ipad触控笔哪个好?平价电容笔排行榜

因为ipad本身的性能足够强大&#xff0c;所以现在已经有不少人开始使用它了。大屏幕上的教学效果很好&#xff0c;但如果只是为了用来看电视剧&#xff0c;那就没什么用了。如果你不想买一支价格昂贵的苹果电容笔&#xff0c;或只想用来做个学习笔记&#xff0c;这时&#xff0…

SpringBoot整合Nacos配置中心和注册中心

一、背景 公司项目中使用的Nacos作为服务的注册中心和配置中心&#xff0c;但是呢公司的这一套Nacos是经过封装了的&#xff0c;而且封装的不是很友好&#xff0c;想着自己搭建一套标注的Nacos配置中心和服务中心 二、Nacos配置中心和注册中心搭建 2.1 依赖引入 <!--注册…

端点中心配置

什么是桌面管理 桌面管理是管理组织内所有计算机系统的综合方法。尽管名称如此&#xff0c;桌面管理还包括监督组织内使用的笔记本电脑和其他计算设备。对于IT经理来说&#xff0c;使用户的计算机保持最新状态可能是一个挑战&#xff0c;特别是考虑到升级软件以防止安全漏洞的…

【Ubuntu18.04】Docker配置镜像源

作者主页&#xff1a;爱笑的男孩。的博客_CSDN博客-深度学习,活动,YOLO领域博主爱笑的男孩。擅长深度学习,活动,YOLO,等方面的知识,爱笑的男孩。关注算法,python,计算机视觉,图像处理,深度学习,pytorch,神经网络,opencv领域.https://blog.csdn.net/Code_and516?typeblog个人简…

【二维矩阵如何存储在一维数组中(行优先和列优先)】

列优先和行优先的性能取决于具体的硬件架构和代码访问模式。在现代计算机中,内存访问的局部性(locality of reference)对性能至关重要。局部性分为两类:时间局部性(temporal locality)和空间局部性(spatial locality)。时间局部性表示最近访问过的数据项很可能在不久的…

加拿大留学思路自理

首先先看加拿大地图 留学加拿大的思路就应该是这样的&#xff1a; 1、清楚自己的需求 比如自己是移民向&#xff0c;所以首先就应该去加拿大官方网站Immigration and citizenship - Canada.ca 因为自己是理工科&#xff0c;之前在网络上看到别人总结的信息是说BC省理工类硕士…

【C++学习】类模板

类模板语法 #include<iostream> #include<string> using namespace std; //模板并不是万能的&#xff0c;有些特定数据类型&#xff0c;需要具体化方式做特殊实现 template<class NameType,class AgeType> class person { public:person(NameType name, Age…

k-means、决策树、svm算法总结

一、k-means算法 聚类算法&#xff1a; 一种典型的 无监督 学习算法&#xff0c;主要用于将相似的样本自动归到一个类别中。 在聚类算法中根据样本之间的相似性&#xff0c;将样本划分到不同的类别中&#xff0c;对于不同的相似度计算方法&#xff0c;会得到不同的聚类结果&…

【亲测有效】GnuTLS recv error (-110): The TLS connection was non-properly terminated.

【亲测有效】GnuTLS recv error [-110]: The TLS connection was non-properly terminated. 问题描述解决方法一&#xff1a;【取消代理】方法二【如果取消代理无用】方法三【这种方法对我有效】 问题描述 fatal: unable to access ‘https://github.com/openai/CLIP.git/’: …

JMeter压力测试案例(商品超卖并发问题)

什么要对接口压测呢? 压力测试可以用来验证软件系统的稳定性和可靠性&#xff0c;在压力下测试系统的性能和稳定性&#xff0c;发现并解决潜在的问题&#xff0c;确保系统在高负载情况下不会崩溃。压力测试可以用来评估软件系统的容量和性能&#xff0c;通过模拟高负载情况下…

2023年5月学习,6月考试DAMA-CDGA/CDGP数据治理认证

6月18日DAMA-CDGA/CDGP数据治理认证考试开放报名中&#xff01; 考试开放地区&#xff1a;北京、上海、广州、深圳、长沙、呼和浩特、杭州、南京、济南、成都、西安。其他地区凑人数中… DAMA-CDGA/CDGP数据治理认证班进行中&#xff0c;快来报名加入学习吧&#xff01; DAMA认…

谈谈接口 0.0

目录 接口的概念 接口语法 接口的成员变量与方法 接口的使用 实现多个接口 接口的概念 在现实生活中&#xff0c;接口的例子比比皆是&#xff0c;比如&#xff1a;笔记本上的USB口&#xff0c;电源插座等... 电脑的USB口上&#xff0c;可以插&#xff1a;U盘、鼠标、键盘…

three.js 基础入门

总体思路&#xff1a; 1. 创建场景 2. 创建物体&#xff08;指定几何体、材质&#xff09; 3. 把物体加入场景 4. 创建相机&#xff08;指定机位及拍摄对象&#xff09; 5. 创建渲染器&#xff08;指定画布大小&#xff0c;渲染场景和相机&#xff09; // 1. 创建场景const s…

【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现

【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现 提示:最近开始在【图像分割】方面进行研究,记录相关知识点,分享学习中遇到的问题已经解决的方法。 文章目录 【图像分割】【深度学习】Windows10下f-BRS官方代码Pytorch实现前言f-BRS模型运行环境安装1.下载源码并…

MySQL基础(十三)约束

1. 约束(constraint)概述 1.1 为什么需要约束 数据完整性&#xff08;Data Integrity&#xff09;是指数据的精确性&#xff08;Accuracy&#xff09;和可靠性&#xff08;Reliability&#xff09;。它是防止数据库中存在不符合语义规定的数据和防止因错误信息的输入输出造成…

Ubuntu20.04 不能访问磁盘? 挂载/添加磁盘

Ubuntu20.04 不能访问磁盘&#xff1f; 挂载/添加磁盘 1. 判断是否挂载磁盘2. 格式化磁盘3. 挂载磁盘4. 设置磁盘权限5. 重启系统 一般设备刚拿回来的是不会全部挂载的&#xff0c;也就是说&#xff0c;一部分硬盘&#xff08;机械硬盘&#xff09;是需要我们自己挂载的&…

如何通过舆情监测系统加强数据分析和舆情管控?

舆情监测系统是一种可以帮助企业、政府等机构了解并掌握公众对其关注的程度&#xff0c;以及对其言论和行动的态度和反应的工具。随着社交媒体的兴起&#xff0c;舆情监测系统也越来越重要&#xff0c;越来越受到各个领域的关注和应用。本文将通过分析国内的具体案例&#xff0…

flex布局中理解flex-grow、flex-shrink、flex-basis属性

参考博客&#xff1a; 深入理解flex布局的flex-grow、flex-shrink、flex-basis flex-basis属性 flex-basis设置子项目占据的空间大小&#xff0c; 如果指定flex-basis的值&#xff0c;则子项目会占用所设置的值。如果没有指定或者设置为auto&#xff0c;子项目占据的大小为wi…

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包

咪咕MGV2000_JL-S905L3-B-当贝纯净桌面线刷固件包-内有教程及短接点 特点&#xff1a; 1、适用于对应型号的电视盒子刷机&#xff1b; 2、开放原厂固件屏蔽的市场安装和u盘安装apk&#xff1b; 3、修改dns&#xff0c;三网通用&#xff1b; 4、大量精简内置的没用的软件&a…