读书人

50分求正则表达式截取字符串解决思路

发布时间: 2011-12-25 23:21:20 作者: rapoo

50分求正则表达式截取字符串
各位高手,我只想截取以下字符串中bobell,就是只取userid的值(长度任意)

<TD> <A href= "bbsqry?userid=bobell "> bobell </A>
<TD> May 11
<TD> 103345
<TD> <A
href= "bbsfexp2?fid=2&board=LoveBridge "> more
</A>

[解决办法]
string str = " ";
string value = Regex.Match(str, @ " <td> \s* <a\s*href=\ " "bbsqry\?userid=(? <id> \w+\ " ")[^> ]*> ", RegexOptions.IgnoreCase).Groups[ "id "].Value;
[解决办法]
string str = Regex.Match(strInput, @ " <a\s+href=.*?userid=(? <userid> \w+) ",RegexOptions.IgnoreCase).Groups[ "userid "].Value;

[解决办法]
sorry.上面那个\ " " 放错位置了.

string str = " ";
string value = Regex.Match(str, @ " <td> \s* <a\s*href=\ " "bbsqry\?userid=(? <id> \w+)\ " "[^> ]*> ", RegexOptions.IgnoreCase).Groups[ "id "].Value;
[解决办法]
如果能保证userid在你的源字符串中唯一,这样就可以

string yourStr = ........;
string resultStr = " ";
Match m = Regex.Match(yourStr, @ "userid=(? <id> [^ " " '\s> ]*) ", RegexOptions.IgnoreCase);
if (m.Success)
{
resultStr = m.Groups[ "id "].Value;
}

如果不能保证唯一,那这样

string yourStr = ......;
string resultStr = " ";
Match m = Regex.Match(yourStr, @ " <a\s+href=([ " " ']?)[^ " " '\s]*?userid=(? <id> [^ " " '\s> ]*)\1?[^> ]*> ", RegexOptions.IgnoreCase);
if (m.Success)
{
resultStr = m.Groups[ "id "].Value;
}
[解决办法]
高手啊
[解决办法]
mark

读书人网 >asp.net

热点推荐