Powershell正则表达式取代之间的>和<

时间:2013-02-23 06:30:07

标签: regex powershell text replace

我正在尝试创建一个正则表达式,它将替换文本字符串中两个标记(>和<)之间的文本,而我需要将其替换为类似"我的新文本&# 34 ;.我担心自己对正则表达不太熟悉,我们将不胜感激。

2 个答案:

答案 0 :(得分:1)

这样的事情可能有所帮助:(在评论后编辑进行更正)

>> "<a>my text</a>" -replace ">.*?(<)", '>your text$1'
<a>your text</a>
>>

答案 1 :(得分:0)

控制匹配约束的另一种方法是使用否定类。如果它是多行数据,请使用(m?)选项:

$text = @'
<i>Some old text 
that I want to replace
with my 
new text </i>
'@

$regex='(m?)>[^<]+<'

$text -replace $regex,'>My new text<'

<i>My new text</i>

'&gt; [^,] +&lt;'转换为“&gt;后跟一个或多个不是&lt;的任何内容,后跟&lt;”。