80分 求一简单正则表达式
例如:
VX=3000m/s
AY=10...
HVX=300...
不管等号前面是什么,数字后面是什么,只取等号后面的数字部分,用正则怎么实现呢?
[解决办法]
.*=(? <value> \d+)
[解决办法]
Dim strRegex As New String( ".*=(? <value> \d+) ")
Dim res As MatchCollection = Regex.Matches(TextBox1.Text, strRegex)
For Each obj As Match In res
MessageBox.Show(obj.Groups(1).Value)
Next
[解决办法]
……
你问正则表达式,我当你会用了呢。要引用,在最前面写一句:
Imports System.Text.RegularExpressions
[解决办法]
Dim str As String = "VX=3000m/s "
For Each m As Match In Regex.Matches(str, "(? <=(?> [^=]+)=)\d+ ")
MessageBox.Show(m.Value)
Next
'凑个热闹
[解决办法]
楼主没给分~
[解决办法]
.*=(? <value> \d+)
[解决办法]
(? <=.*=)\d+?
[解决办法]
他们用于组捕,而且.*在前面会构成结果的一部分的。
可以试试我答案,使用match.nextmatch获得下一个结果,使用match.suess判断有没有下一个结果。
[解决办法]
"(? <=.*\s*=\s*)\d+ "
"\d+? " 100%错
[解决办法]
Imports System.Text.RegularExpressions;
//下面是C#语法。
string yourStr = ......;
MatchCollection mc = Regex.Matches(yourStr, "(? <=.+?\\s*=\\s*)\\d+ ", RegexOptions.IgnoreCase).Value;
foreach(Match m in mc)
{
m.Value;//
}