2016-11-29 538 views
0

我正在使用JMeter並試圖編寫一個正則表達式(正則表達式),它可以從某些HTML選項元素返回兩位數的類ID。如何僅使用正則表達式獲得前兩位數字

<option value="53">1ABC Class</option> 
<option value="52">2XYZ Class</option> 
<option value="69" selected="selected">001 Class</option> 

使用正則表達式如下..

value="..">1ABC Class< 

回報

value="53">1ABC Class< 

在給出的示例中,唯一的返回值我想是535269

我正在尋找一個正則表達式,可以與上面給出的所有選項一起使用。

+1

什麼是正則表達式風格/編程語言/工具?它是否爲JMeter? –

+1

不要使用正則表達式來解析HTML,XML或其他標記語言。解析器比您可能構建的任何正則表達式更可靠。 – dasblinkenlight

+1

如果你可以使用Xpath提取器(我認爲你可以),xpath將會是'//選項[text()='1ABC Class']/@ value'來獲得'53'或'// option/@ value'來獲取'option'節點的'values'。 –

回答

1

試試這個:

value="(\d+)".*?>1ABC Class< 

這隻會給結果在括號內,因爲所需要的價值,再加上它會匹配任何標記。

+1

檢查它。謝謝MoustafaS。它爲我工作。 – TestingWithArif

+0

歡迎您。 @TestingWithArif – MoustafaS

0

c#爲或vb.net

var doc = XDocument.Parse(yourXmltext); 
var options = doc.Root.Descendants("option"); 

foreach(var option in options) 
{ 
    var value = option.Attribute("value").Value; 
    var className = option.Value; 
} 

LINQ to Xml不Regex的解決方案使得代碼小出價更易讀

+0

如果是JMeter,這個C#代碼將是沒有用的。 –