GVKun编程网logo

如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?

21

此处将为大家介绍关于如何使用WindowsPowerShell的正则expression式删除一个文件名末尾的一个或多个空格?的详细内容,此外,我们还将为您介绍关于Bash的正则expression式

此处将为大家介绍关于如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?的详细内容,此外,我们还将为您介绍关于Bash的正则expression式不接受斜杠、Javascript使用正则expression式的正则expression式algorithm?、Microsoft.SharePoint.PowerShellpipe理单元:不正确的Windows PowerShell版本3.0 当前控制台支持Window PowerShell 2.0版、Nginx块/拒绝访问多个位置的正则expression式的有用信息。

本文目录一览:

如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?

如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?

我有一个目录包含了很多文件格式错误的文件名。 其中一些在文件名末尾有“空格”。 其他人在文件名string的末尾有一些在文件名中网格化的关键字。 例如“xxx xxx xxx somewordEng .txt”

即时通讯试图摆脱他们使用这个脚本,但它不会做。 文件名(基本名称)末尾的空格仍然存在,“Eng”关键字也是以前添加到该单词中的:

dir | Rename-Item -NewName { $_.BaseName.replace("Eng$","").replace(" {2,}"," ").replace("s$","") + $_.Extension } .replace("Eng$","") is supposed to remove the "Eng" keyword if it appears at the END of the filename (basename),seems not working so far. .replace(" {2," ") is supposed to replace 2 or more following spaces with just ONE space within the filename,seems not working so far. .replace("s$","") is supposed to remove spaces at the end of the filename,does not work neither.

我search了PowerShell的正则expression式的例子,但似乎没有任何工作到目前为止。 :(不能看到问题呢。

Nginx匹配位置中的特定单词

如何用sed“debugging”正则expression式?

.htaccess图像URL的RewriteRule

为什么当模式(不)包含圆括号的组时,expr匹配会输出不同的东西?

如何匹配以string开头的string(使用正则expression式)

从perl 5.8(32bit)升级到5.16(64bit) – 正则performance打击

删除报价周围的数字

如何解决这个SED命令来查找和replacestring

简单.htaccessredirect:如何redirect参数?

负面lookbehind断言正则expression式与grep -P有意想不到的结果

你在这里遇到的问题是字符串方法.Replace()不支持正则表达式,这是你在这里要做的。 您应该使用替换运算符替代。 这两个选项之间的差异在这个答案中多了一点

以下两个例子显示了这种差异

PS C:Usersmcameron> "Te.t".Replace(".","s") Test PS C:Usersmcameron> "Te.t" -Replace ".","s" ssss

在你的情况

$_.BaseName -replace "Eng$" -replace " {2," " -replace "s$"

我们使用正确的操作符,您仍然可以像上面所看到的那样“链接”它们。 这将删除尾随单词“英”和任何尾随单个空白。 以及将一组空白减少到单个空间。 另外,如果你没有替换,那么你可以省略第二个参数。

不过,如果你想要的话,你可以把这些加在一起。

$_.BaseName -replace "(Eng|s+)$" -replace "s{2," "

总结

以上是小编为你收集整理的如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?全部内容。

如果觉得小编网站内容还不错,欢迎将小编网站推荐给好友。

Bash的正则expression式不接受斜杠

Bash的正则expression式不接受斜杠

我是相当新的bash shell脚本(和Linux太)…我尝试做一个简单的脚本,涉及到一个由用户键盘给出的string的正则expression式。

clear read -p "Insert e-mail > " if [[ $REPLY =~ ^[.] ]] then echo "ERROR (code 1): e-mail cannot start with "."" elif [[ $REPLY =~ .[.]$ ]] then echo "ERROR (code 2): e-mail cannot end with "."" else if [[ $REPLY =~ ^[0-9][0-9a-zA-Z!#$%^&'*+-]+$ ]] #THIS IS WHERE I NEED HELP then echo "Good!" else echo "Bad!" fi fi

所以我想要做的是做一个正则expression式

所以用户不能从头开始。 或结束。 (我几乎这样做,它的工作)…

接下来我想做的是让string以数字开头,我用^ [0-9](我认为这是正确的)

之后..string可以是数字0-9或字母az和AZ或下一个字符:#$%^&'* + – /

所以当用户input1&(它以数字开头,其余的是可接受的字符),但它不工作..因为它需要是&(在正则expression式公式)。

接下来同样的问题发生了字符'我做了什么,是添加一个反斜杠正则expression式公式(),它的工作..

然后我试图做同样的/字符(斜杠字符),所以我做的是添加反斜杠/(反斜杠斜杠),但是当用户input1 /(它以数字开始,其余是可接受的字符),不幸的是它打印“坏!” 它应该打印好!

为什么会这样呢?

我试过 /和 / /但仍然…不能理解为什么它不工作!

Bash – replace斜线

有没有一个基于GNU Windows的文本编辑器,使用完整的正则expression式与伟大的文档查找replace?

node.js不能识别express

在FINDSTR中使用子模式

简单.htaccessredirect:如何redirect参数?

问题是存在的! 在你正在做历史扩张的角色班上。

我建议像这样预先声明你的正则表达式:

re="^[0-9][0-9a-zA-Z!#$%^&/*'+-]+$"

然后用它作为:

s='1/' [[ $s =~ $re ]] && echo "good" || echo "bad" good

其实,在字符类工作就好了:

$ [[ "1/" =~ ^[0-9][/]+$ ]]; echo $? 0

Javascript使用正则expression式的正则expression式algorithm?

Javascript使用正则expression式的正则expression式algorithm?

我今天正在阅读这篇文章关于两种不同的正则expression式algorithm。

根据旧的Unix工具,如ed,sed,grep,egrep,awk和lex,他们在正则expression式中都使用了所谓的Thompson NFAalgorithm。

然而,像Java,Perl,PHP和Python这样的更新的工具对于它们的正则expression式使用的algorithm要慢得多。

这篇文章没有提到Javascript的正则expression式algorthim(是的,我知道有不同的JS引擎),但我想知道是否有人知道他们使用哪些algorithm,如果可能这些algorithm应该换汤普森NFA。

在sed中匹配的模式后面追加一行不起作用

htaccess重写replace空间 –

在csv中replace错误的行

使用正则expression式检查范围

当Gcc编译Boost :: regex和多个版本的boost时,未定义的引用存在

运行groovy时windows CMD的怪异行为

使用.htaccessredirect网站,但排除两个+文件夹

在ed中插入换行符(编辑器)

如何validation使用正则expression式的可选百分比符号小数?

如何在VIM中用正则expression式来检测代码行

Javascript ECMA语言描述并没有对正则表达式的特定实现提出要求,所以这个问题的一部分是不完整的。 你真的想知道在特定浏览器中的具体实现。

Perl / Python等使用较慢算法的原因是,定义的正则表达式并不是真正的正则表达式。 一个真正的正则表达式可以表示为一个有限状态机,但是正则表达式的语言是上下文无关的。 这就是为什么时尚只是称之为“正则表达式”,而不是谈论正则表达式。

更新

是的,其实JavaScript正则表达式不是免费的普通内容 。 考虑使用`{n,m}'的语法,也就是说,匹配从n到m被接受的正则表达式。 设差d = | nm |。 语法意味着存在一个可接受的字符串ux d w ,但是不是一个字符串ux k> d w 。 通过正则语言的抽象引理,这不是常规的语言。

(奥修思想纠正了。)

Perl使用memoized递归回溯搜索,在5.10中的一些改进,不再在perl -e '("a" x 100000) =~ /^(ab?)*$/;' 。 在最近的测试中,我在OS X机器上进行了测试,即使在awk的算法应该更好的情况下,Perl 5.10的性能也超过了awk 。

尽管ECMA标准没有规定ECMAScript实现应该使用的算法,但标准要求ECMAScript正则表达式必须支持反向引用( 1, 2等)这一事实排除了DFA和“Thompson NFA”实现。

Microsoft.SharePoint.PowerShellpipe理单元:不正确的Windows PowerShell版本3.0 当前控制台支持Window PowerShell 2.0版

Microsoft.SharePoint.PowerShellpipe理单元:不正确的Windows PowerShell版本3.0 当前控制台支持Window PowerShell 2.0版

我在我的机器上安装了SharePoint 2010,用于开发目的,而且我错误地升级到.Net 4.0和PowerShell 3.0。

解决这个问题,使用-version 2.0或-v 2 switch / arguement运行powershell并不完全正常。

所以,这个问题是如何在PowerShell中添加Microsoft.Sharepoint.PowerShellpipe理单元,在具有.Net 4.0框架的机器上?

尝试1:

Windows中的IP发现

在Windows中检测文件“copY”操作

HRESULT:0x80040154(REGDB_E_CLASSNOTREG))

对于Windows窗体,PostMessage等于自己的什么?

从C#中selectsql Server数据库中的特定logging

PS> Add-PSSnapin Microsoft.Sharepoint.Powershell The local farm is not accessible. Cmdlets with FeatureDependencyId are not registered. PS> Get-SPSite('http://myServerName/') Get-SPSite : Microsoft SharePoint is not supported with version 4.0.30319.18052 of the Microsoft .Net Runtime.

好的,所以我尝试2:

PS> powershell.exe -version 2.0 PS> Add-PSSnapin Microsoft.Sharepoint.Powershell Add-PSSnapin : Incorrect Windows PowerShell version 3.0. Windows PowerShell version 2.0 is supported in the current console. At line:1 char:13 + Add-PSSnapin <<<< Microsoft.Sharepoint.PowerShell + CategoryInfo : InvalidArgument: (Microsoft.Sharepoint.PowerShell:String) [Add-PSSnapin],PSArgumentException + FullyQualifiedErrorId : AddPSSnapInRead,Microsoft.PowerShell.Commands.AddPSSnapinCommand

我也尝试设置快捷方式的目标。 并卸载以q结尾的Windows更新

所以,这是我的错误,我无法find任何信息: 不正确的Windows PowerShell版本3.0。 当前控制台支持Windows PowerShell版本2.0。

有什么想法吗?

在哪里写日志的Windows应用程序

如何测量C#中的系统空闲时间,不包括看电影等?

如何在Windows窗体上显示必填字段

.NET EXE和DLL之间的堆栈/堆区别

采用Windows媒体基础的H.264编码

如果我打电话,它似乎为我工作

powershell.exe -version 2.0

从命令提示符而不是从Powershell调用它。

最近SharePoint 2010更新后,我可以添加PowerShell管理单元,而在版本2.0中运行PowerShell

Nginx块/拒绝访问多个位置的正则expression式

Nginx块/拒绝访问多个位置的正则expression式

我使用Nginx作为我的Apache灌输的反向代理,并作为一个安全function,它阻止访问PHPmyadmin,webalizer等除localhost之外的所有人,但使用Nginx,它使Apache认为它是本地主机,所以它公开显示它为大家。

<LocationMatch "^/(?i:(?:xampp|security|PHPmyadmin|licenses|webalizer|server-status|server-info))"> Order deny,allow Deny from all Allow from ::1 127.0.0.0/8 fc00::/7 10.0.0.0/8 172.16.0.0/12 192.168.0.0/16 fe80::/10 169.254.0.0/16 ErrorDocument 403 / </LocationMatch>

我需要把上面的规则模式匹配正则expression式到以下。

location /PHPmyadmin { proxy_pass htt://127.0.0.1:8080/PHPmyadmin; allow 127.0.0.1; deny all; }

非常感谢任何熟悉Nginx正则expression式的人的帮助。

下面的方法可以正常工作,但会破坏正常的站点URL,这些URL会像search引擎一样友好,如domain.com/forums/server-info

Magento从旧的Urlredirect到具有存储(语言)代码的新Url

为什么findstr不能正确处理案件(在某些情况下)?

用bashreplaceXML中的标签

Nginx重写排除

sed命令在solaris中工作,但不在Linux中

location ~ /(xampp|security|PHPmyadmin|licenses|webalizer|server-status|server-info) { deny all; }

如何保留新的行和格式,而使用sedreplace文本?

读取命令的输出或从文件读取

如何在awk中获得regExp的子expression式值?

Grep中“word”的含义

使用htaccess将文件夹redirect到另一个文件夹

由于apache正则表达式有'^',所以我们可以把'^'从路径的开头强制匹配。

location ~ ^/(xampp|security|PHPmyadmin|licenses|webalizer|server-status|server-info) { proxy_pass http://127.0.0.1:8080$request_uri; .... allow/deny directives come here }

[编辑]括号内的匹配字符串存储在$ 1。 所以你可以试试

http://127.0.0.1:8080/$1

如果那是你想要的。 不过,我的理解是,你想要通过整个URI路径到Apache服务器。 在这种情况下,使用Nginx变量$ request_uri会更简单。

看起来你有很多。 为了安全起见,Nginx会自上而下读取,所以最后请拒绝:

location /(xampp|security|PHPmyadmin|licenses|webalizer|server-status|server-info) { allow from ::1; allow from fc00::/7; allow from fe80::/10; allow 127.0.0.0/8; allow 10.0.0.0/8; allow 172.16.0.0/12; allow 192.168.0.0/16; allow 169.254.0.0/16; deny all; }

请注意,这将适用于像/PHPmyadmin等任何网址包括/someplaceelse/PHPmyadmin 。 你可以预先设定一个^来匹配http://host/PHPmyadmin匹配项。 虽然从它的声音,你可能不得不把它分成多个位置指令在这种情况下。

我不确定搜索引擎友好的意思。 如果你想要服务器信息是可访问的,只需从正则表达式中删除它 案例。

对于PHPmyadmin代理:

location ^/PHPmyadmin { proxy_pass http://127.0.0.1:8080; }

Nginx将把所有的位置匹配并附加到http://127.0.0.1:8080

比如你可以用〜来修改这个行为。 http://wiki.Nginx.org/HttpCoremodulee#location

我们今天的关于如何使用Windows PowerShell的正则expression式删除一个文件名末尾的一个或多个空格?的分享就到这里,谢谢您的阅读,如果想了解更多关于Bash的正则expression式不接受斜杠、Javascript使用正则expression式的正则expression式algorithm?、Microsoft.SharePoint.PowerShellpipe理单元:不正确的Windows PowerShell版本3.0 当前控制台支持Window PowerShell 2.0版、Nginx块/拒绝访问多个位置的正则expression式的相关信息,可以在本站进行搜索。

本文标签: