Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/performance/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 要排除的Powershell模式%_Regex_Powershell_Pattern Matching - Fatal编程技术网

Regex 要排除的Powershell模式%

Regex 要排除的Powershell模式%,regex,powershell,pattern-matching,Regex,Powershell,Pattern Matching,我正试图找到一种模式,从文本中删除%。这可以通过转义或替换轻松实现,但我仅限于修改$pattern的内容 $text = "something is 5% and 10% value" $pattern = "[^!%]*" // only this can be modified. ([Regex]::Match($text,$pattern)).value 输出应为: 有些东西是5和10的值来自: 评论 火柴(弦, 方法返回与输入字符串中的正则表达式模式匹配的第一个子字符串 如果您只能修改

我正试图找到一种模式,从文本中删除%。这可以通过转义或替换轻松实现,但我仅限于修改$pattern的内容

$text = "something is 5% and 10% value"
$pattern = "[^!%]*" // only this can be modified.
([Regex]::Match($text,$pattern)).value
输出应为:

有些东西是5和10的值

来自:

评论 火柴(弦, 方法返回与输入字符串中的正则表达式模式匹配的第一个子字符串

如果您只能修改模式,而不能修改代码的其余部分,那么就不可能实现您想要的

你需要像这样的东西

$pattern = '[!%]'
[regex]::Replace($text, $pattern, '')

从:

评论 火柴(弦, 方法返回与输入字符串中的正则表达式模式匹配的第一个子字符串

如果您只能修改模式,而不能修改代码的其余部分,那么就不可能实现您想要的

你需要像这样的东西

$pattern = '[!%]'
[regex]::Replace($text, $pattern, '')


您无法删除带有
[Regex]::Match
的任何内容。请尝试
([Regex]::Matches($text,“[^%]+”)。值-加入“”
,或执行单个替换
$text.replace(“%”),“”)
@revo此脚本是嵌入的脚本,因此此处无法修改任何内容。只有我必须将模式传递给脚本。因此,我甚至不能使用替换:(那么就没有机会了。如果你不能更改脚本,你能在输入字符串传递到脚本之前修改它吗?你不能删除任何带有
[Regex]::Match
。试试
([Regex]::Matches($text,[^%]+))。值-连接“”
或执行单个替换
$text.replace(“%,”)
@revo此脚本是嵌入式脚本,因此此处无法修改任何内容。只有我必须将模式传递给脚本。因此我甚至不能使用replace.:(那么就没有机会了。如果无法更改脚本,能否在将输入字符串传递给脚本之前对其进行修改?