最微不足道的一個你可以想出將是:
<snippet lang="java">.*?</snippet>
你可能會想捕捉無論是包含在一組在這些標籤之間:
<snippet lang="java">(.*?)</snippet>
而且甚至可能使java
部分變量:
<snippet lang="([^"]+)">(.*?)</snippet>
Quick PowerShell測試:
PS> $text = 'This is a sample text where <snippet lang="java">some java code</snippet> and other sample text where this that <snippet lang="java">some java code 2</snippet>'
PS> [Regex]::Matches($text, '<snippet lang="([^"]+)">(.*?)</snippet>')
Groups : {<snippet lang="java">some java code</snippet>, java, some java code}
Success : True
Captures : {<snippet lang="java">some java code</snippet>}
Index : 28
Length : 45
Value : <snippet lang="java">some java code</snippet>
Groups : {<snippet lang="java">some java code 2</snippet>, java, some java code 2}
Success : True
Captures : {<snippet lang="java">some java code 2</snippet>}
Index : 112
Length : 47
Value : <snippet lang="java">some java code 2</snippet>
請注意,這是所有非常基本的正則表達式知識(或Regex 101在美國大學(學院?)的說法)。如果您需要提出這些問題,也許您應該重新考慮您是否確實需要正則表達式。由於傑米·薩溫斯基曾指出:
一些人,當遇到一個問題,想 「我知道,我將使用正則表達式。」
現在他們有兩個問題。
謝謝喬伊。如果我想要整個匹配'一些java代碼 ',我該如何編寫一個模式。那是從'<' to last '>'?非常感謝 –
saarthak
發現 - '(一些java代碼 )' –
saarthak
糟糕,它的'((。*?) )' –
saarthak