regex - 正则表达式排除不起作用的字符

标签 regex powershell powershell-2.0 regex-negation

我有一个简单的正则表达式,可以将所有匹配项从文本文件返回到文件:

\\ Root_Dir。*?'

它们以“\Root_dir”开头,以单引号结尾。它工作正常,但问题是我想排除扩展名为.rep的文件。根据我阅读的内容,我尝试了:

\\ Root_Dir。*?(?!\。rep)'

这仍然包括\Root_dir\nextdir\happy.rep这样的文件。

我还想在可能的返回值中排除结尾的单引号

我正在使用PowerShell 2.0,我相信它支持lookaronds。

最佳答案

您应该在后面使用否定后缀..即,如果出现.rep,则需要在单引号后

\\Root_dir[^']*(?<!\.rep)(?=')

关于regex - 正则表达式排除不起作用的字符,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14364156/

相关文章:

java - 用双引号对字符串进行子串的正则表达式

powershell - 无法将我的类的实例添加到列表<我的类>

powershell - 如何确保我们使用的是Powershell 2.0?

ruby - preg_quote() 的 Ruby 等价物是什么?

javascript - 如何做 replaceAll?

php - MySQL 使用 RegEx 更新/选择列

sql - 如何通过Powershell将参数传递给SQL脚本

xml - 使用 powershell 更新 xml 元素

powershell - 如何设置文件的 LastWriteTime 属性?

function - 在没有调用代码的情况下将输出定向到函数中的stdout