Regex 获取空白值或-+;要在正则表达式中显示的数字$value
我试图从上面的正则表达式行中提取所有需要的数据。使用VB.net,我有前5件事,但一旦需要一个-/+$数字,有时显示为无字符,我就卡住了 到目前为止,这是可行的Regex 获取空白值或-+;要在正则表达式中显示的数字$value,regex,vb.net,Regex,Vb.net,我试图从上面的正则表达式行中提取所有需要的数据。使用VB.net,我有前5件事,但一旦需要一个-/+$数字,有时显示为无字符,我就卡住了 到目前为止,这是可行的 MsgType=GetMarketAuction&Symbol=XLF&AuctionPrice=24.50&AuctionSize=57138&AuctionImbalance=0&AuctionImbalanceMkt=0&AuctionIndNetChange=&Closin
MsgType=GetMarketAuction&Symbol=XLF&AuctionPrice=24.50&AuctionSize=57138&AuctionImbalance=0&AuctionImbalanceMkt=0&AuctionIndNetChange=&ClosingPrice=24.54&BidPrice=24.36&AskPrice=24.37&EC=0&ES=&AuctionImbalanceStatus=&AuctionMktImbalanceStatus=&Delta=
Dim r As New System.Text.regular expressions.Regex(“Symbol=(?。.w+)\&AuctionPrice=(?。.d.\d+)\&AuctionSize=(?。.d+)\&AuctionImbalance=(?.a*)\&AuctionImbalanceMkt=(?.a*))
AuctionIndNetChange=(我在这里寻找可以从中提取价值的东西)
谢谢 您可以使用以下正则表达式:
Dim r As New System.Text.RegularExpressions.Regex("Symbol=(?<1>.\w+)\&AuctionPrice=(?<2>.\d.\d+)\&AuctionSize=(?<3>.\d+)\&AuctionImbalance=(?<4>.a*)\&AuctionImbalanceMkt=(?<5>.a*)")
输出:
Dim querystr As String = "MsgType=GetMarketAuction&Symbol=XLF&AuctionPrice=24.50&AuctionSize=57138&AuctionImbalance=0&AuctionImbalanceMkt=0&AuctionIndNetChange=&ClosingPrice=24.54&BidPrice=24.36&AskPrice=24.37&EC=0&ES=&AuctionImbalanceStatus=&AuctionMktImbalanceStatus=&Delta="
Dim qscoll As System.Collections.Specialized.NameValueCollection = HttpUtility.ParseQueryString(querystr)
Console.WriteLine(String.Format("AuctionSize: {0}, Symbol: {1}, AuctionPrice: {2}, AuctionSize: {3}, AuctionImbalance: {4}, AuctionImbalanceMkt: {5}, AuctionIndNetChange: {6}",
qscoll("AuctionSize"), _
qscoll("Symbol"), _
qscoll("AuctionPrice"), _
qscoll("AuctionSize"), _
qscoll("AuctionImbalance"), _
qscoll("AuctionImbalanceMkt"), _
qscoll("AuctionIndNetChange")))
您可以使用以下正则表达式:
Dim r As New System.Text.RegularExpressions.Regex("Symbol=(?<1>.\w+)\&AuctionPrice=(?<2>.\d.\d+)\&AuctionSize=(?<3>.\d+)\&AuctionImbalance=(?<4>.a*)\&AuctionImbalanceMkt=(?<5>.a*)")
输出:
Dim querystr As String = "MsgType=GetMarketAuction&Symbol=XLF&AuctionPrice=24.50&AuctionSize=57138&AuctionImbalance=0&AuctionImbalanceMkt=0&AuctionIndNetChange=&ClosingPrice=24.54&BidPrice=24.36&AskPrice=24.37&EC=0&ES=&AuctionImbalanceStatus=&AuctionMktImbalanceStatus=&Delta="
Dim qscoll As System.Collections.Specialized.NameValueCollection = HttpUtility.ParseQueryString(querystr)
Console.WriteLine(String.Format("AuctionSize: {0}, Symbol: {1}, AuctionPrice: {2}, AuctionSize: {3}, AuctionImbalance: {4}, AuctionImbalanceMkt: {5}, AuctionIndNetChange: {6}",
qscoll("AuctionSize"), _
qscoll("Symbol"), _
qscoll("AuctionPrice"), _
qscoll("AuctionSize"), _
qscoll("AuctionImbalance"), _
qscoll("AuctionImbalanceMkt"), _
qscoll("AuctionIndNetChange")))