c# 正则表达式如何获得sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1字符串的1的值

c11_11_11 2011-06-01 06:08:03
c# 正则表达式如何获得sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1字符串的1的值,我记得好像正则表达式里有一个value什么的。
...全文
95 9 打赏 收藏 转发到动态 举报
写回复
用AI写文章
9 条回复
切换为时间正序
请发表友善的回复…
发表回复
porschev 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 c11_11_11 的回复:]

Regex reg = new Regex(@"(?i)<input.*?value=(['""]?)(?<value>[^'""\s>]*)\1[^>]*>");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";

类似于这个的,实际获得的值就是<value>处的值,楼上都可以,但是不是我想……
[/Quote]

你这有啥特殊的意义啊。。完全没有必要。。
q107770540 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 c11_11_11 的回复:]

Regex reg = new Regex(@"(?i)<input.*?value=(['""]?)(?<value>[^'""\s>]*)\1[^>]*>");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";

类似于这个的,实际获得的值就是<value>处的值,楼上都可以,但是不是我想……
[/Quote]
完全没必要 像你这样做
脱裤子放P 多此一举啊
-过客- 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 c11_11_11 的回复:]
Regex reg = new Regex(@"(?i)<input.*?value=(['""]?)(?<value>[^'""\s>]*)\1[^>]*>");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";

类似于这个的,实际获得的值就是<value>处的值,楼上都可以,但是不是我想要……
[/Quote]

Regex reg = new Regex(@"(?i)sa(?<value>\d+)");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";


不过,这样做有什么意义吗。。。

内容固定没必要用正则,不固定你要交待哪里会变化,哪里不变,变化的规律如何
我姓区不姓区 2011-06-02
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 c11_11_11 的回复:]

Regex reg = new Regex(@"(?i)<input.*?value=(['""]?)(?<value>[^'""\s>]*)\1[^>]*>");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";

类似于这个的,实际获得的值就是<value>处的值,楼上都可以,但是不是我想……
[/Quote]
这是捕获分组……
就你的例子而言,不需要用到分组……
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复

string str = "sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1";
Regex regex = new Regex(@"(?<=\w)\d(?=\w)");
MatchCollection mc = regex.Matches(str);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
kingdom_0 2011-06-02
  • 打赏
  • 举报
回复

string str = "sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1";
Regex re = new Regex(@"\d");
MatchCollection mc = re.Matches(str);
foreach (Match m in mc)
{
Console.WriteLine(m.Value);
}
c11_11_11 2011-06-02
  • 打赏
  • 举报
回复
Regex reg = new Regex(@"(?i)<input.*?value=(['""]?)(?<value>[^'""\s>]*)\1[^>]*>");
Match m = reg.Match("");
string s=m.Success? m.Groups["value"].Value:"";

类似于这个的,实际获得的值就是<value>处的值,楼上都可以,但是不是我想要的。
我姓区不姓区 2011-06-01
  • 打赏
  • 举报
回复

string str = "sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1";
Console.WriteLine(Regex.Matches(str,"(?s)1").Count);
porschev 2011-06-01
  • 打赏
  • 举报
回复

string str = "sa1sa1sa1sa1sa1sa1sa1sa1sa1sa1";
Regex re = new Regex(@"\d", RegexOptions.None);
MatchCollection mc = re.Matches(str );
foreach (Match ma in mc)
{
//ma.Value就是你想要的
}



110,538

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧