Regex 要排除的Powershell模式%
我正试图找到一种模式,从文本中删除%。这可以通过转义或替换轻松实现,但我仅限于修改$pattern的内容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的值来自: 评论 火柴(弦, 方法返回与输入字符串中的正则表达式模式匹配的第一个子字符串 如果您只能修改
$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.:(那么就没有机会了。如果无法更改脚本,能否在将输入字符串传递给脚本之前对其进行修改?