小编Jak*_*ern的帖子

Powershell `-replace` 正则表达式与换行符不匹配

我正在尝试使用正则表达式清理一些 html 文件(是的,我看过这篇文章。我不打算一般解析 html),并且我想删除所有不包含标签的行。我的脚本如下:

Remove-Item $args[1]
$text = (Get-Content -Path $args[0] -Raw)
$text = $text -replace "^\s*\r?\n"
New-Item -Path $args[1] -ItemType File -Force -Value $text
Run Code Online (Sandbox Code Playgroud)

我想更换很多其他东西,但我主要是在尝试修复

我可以验证内部正则表达式是否有效:VSCode(使用 JS 正则表达式而不是 powershell 的 .NET 正则表达式)使用提供的正则表达式正确匹配(并替换)有问题的行。

我知道Powershell 是 Special,所以我已将 的输出转换Get-Content为带有嵌入换行符的原始字符串。这并没有帮助。

我可以验证其他函数(即remove-itemnew-item)是否工作得很好,并且其他正则表达式可以通过将正则表达式文本从"^\s*\r?\n"to更改为工作"p", "abc"并看到p标签全部变成abc标签来验证。

此外,正则表达式\s*\r?\n可以工作,所以并不是正则表达式找不到换行符。

正则表达式\A\s*\r?\n也不起作用,这意味着它与 PowerShell 如何查找字符串的开头\结尾有关。

这是怎么回事?


Remove-Item $args[1]
$text = (Get-Content -Path $args[0] -Raw)
$text = $text -replace "^\s*\r?\n"
New-Item …
Run Code Online (Sandbox Code Playgroud)

html regex powershell

3
推荐指数
1
解决办法
1233
查看次数

在Python中重命名'_'变量

我最近了解_了python shell中的内置变量,其目的是存储最后一个控制台答案.例如:

>>> 4 + 7
11
>>> _
11
>>> Test = 4
>>> Test + 3
7
>>> _
7
Run Code Online (Sandbox Code Playgroud)

作为一名长期的TI-Basic程序员,我更愿意考虑这个变量Ans而不是_.(是的,我知道这只是个人偏好,但无论如何这都是一个有趣的问题.)

问题:如何设置Ans变量以使其值始终_变量相同?


这并不像刚刚做的那么简单Ans = _,因为这个shell日志显示:

>>> "test string"
'test string'
>>> _
'test string'
>>> Ans = _
>>> Ans
'test string'
>>> list('Other String')
['O', 't', 'h', 'e', 'r', ' ', 'S', 't', 'r', 'i', 'n', 'g']
>>> _
['O', 't', 'h', …
Run Code Online (Sandbox Code Playgroud)

python alias

1
推荐指数
1
解决办法
94
查看次数

标签 统计

alias ×1

html ×1

powershell ×1

python ×1

regex ×1