2013-02-23 81 views
0

我試圖創建一個正則表達式將替換文本字符串與任何我需要像來代替它兩個標籤(>和<)之間的文本,什麼是「我新文本「。恐怕我對正則表達式不太熟悉,任何幫助都不勝感激。Powershell的正則表達式替換之間>和<

+1

我不知道PowerShell的,但類似單曲/>.*?我的新文本<'是普通正則表達式 – 2013-02-23 06:31:42

+0

請注意,當嵌套標記時(例如' my old text'),這將不起作用。這種情況不能用正則表達式來涵蓋。 – 2013-02-23 10:51:39

回答

1

像這樣的東西可能會有所幫助:(編輯徵求意見後修正)

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

@AnsgarWiechers不,我沒有,我的錯誤。我會看到它糾正。 – ilomambo 2013-02-23 14:23:25

+0

這就是我正在尋找的表達,tyvm! – gjettison 2013-02-23 20:27:50

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> 

在「> [^,] + <」轉化爲「>後面跟着一個或多個的任何不是<,其次通過<「。

相關問題