小编Gla*_*der的帖子

在运行时更新Java代码

大约一年前,我偶然发现了Java中的一个很好的功能,我无法再为我的生活找到它.

通过一些神奇的界面,显然可以在运行时声明一些可替换的类或函数.
我发现了一个很好的示例指南,有人运行了一个简单的小程序,打印出某个消息,然后他使用我不记得的方法更新了程序,突然之间程序用新的替换了旧的打印功能.

我试过通过Java API来激发我的记忆以及谷歌搜索,但没有成功.这里有人可以帮忙吗?

java runtime

9
推荐指数
2
解决办法
7158
查看次数

PowerShell正则表达式分组

我在PowerShell中制作重命名脚本时遇到了一些麻烦.情况:在一个目录中我有以下列格式命名的文件夹:"四位数 - 文本 - 垃圾"我要将其重命名为"text(四位数)"

现在我已经创建了一个目录,其中包含一些样本名称:

1996年 - 一些有趣的东西 - 一些糟糕的东西

2006年 - 复制此 - 忽略

我已经尝试设置一个脚本来回显他们的名字,但我不能完全掌握正则表达式.以下代码只打印"1996 - something"和"2006 - copy"

Get-ChildItem | Foreach-Object { if ($_.BaseName -match "(\d{4} - \w+ -*)") { echo $matches[0]}}
Run Code Online (Sandbox Code Playgroud)

这个将打印"1996 - 有趣的东西 - 一些糟糕的东西\n()"和"2006 - 复制这个 - 忽略\n()"

Get-ChildItem | Foreach-Object { echo ($_.BaseName -replace "(\d{4} - \w+ - *)"), "$2 ($1)"}
Run Code Online (Sandbox Code Playgroud)

有人能告诉我为什么这两种方法都不尊重文字字符串" - "作为匹配的边界吗?

*编辑*感谢zespri,解决我的问题的代码是

Get-ChildItem | Foreach-Object {
if ($_.BaseName -match "(\d{4} - [^-]*)") { 
  Rename-Item $_ ($_.BaseName -replace "(\d{4}) - (.+)(?= …
Run Code Online (Sandbox Code Playgroud)

regex powershell

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

标签 统计

java ×1

powershell ×1

regex ×1

runtime ×1