求正则表达式,在线等!!!

masong_1978 2005-11-01 04:09:44
字符串只能由字母,数字,中划线-,组成!且字符串的首尾都不能为-
ValidationExpression=?
...全文
205 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
tiaoci 2005-11-03
  • 打赏
  • 举报
回复
to masong-1978,

你不是说字符串首尾都不能为"-"吗

单个 "-" 自然算是在首不匹配的

测试例子

using System;
using System.Text.RegularExpressions;
public class test
{
static void Main()
{
string p = @"^([a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9])$";
string [] s = {"-", "abcd", "a-c", "-a"};
foreach(string c in s)
{
Console.WriteLine("{0} {1}", c, Regex.IsMatch(c, p));
}
}
}
tongyao_1978 2005-11-03
  • 打赏
  • 举报
回复
up
adandelion 2005-11-02
  • 打赏
  • 举报
回复
string str = this.TextBox2.Text.Trim();
System.Text.RegularExpressions.Regex strRegex = new Regex(@"[0-9]",RegexOptions.IgnoreCase);
if(strRegex.Matches(str).Count == str.Length)
{
Response.Write("<br>输入的全是数");
Response.Write(" "+str);
}
else
{
string pat = @"([0-9]+)";
Regex r = new Regex(pat, RegexOptions.IgnoreCase);
Match m = r.Match(str);

if (m.Success)
{

Group g = m.Groups[1];
CaptureCollection cc = g.Captures;
Capture c = cc[0];
if (c.Index == 0)
{
Response.Write("<br>输入的不全是数,前面的数字:");
Response.Write(" "+c);
}
}
}

我也菜鸟一个.这个应该可以的,
masong_1978 2005-11-02
  • 打赏
  • 举报
回复
上面这个也不行啊!
masong_1978 2005-11-02
  • 打赏
  • 举报
回复
^[A-Za-z0-9)*[A-Za-z0-9\-]*[A-Za-z0-9]$
masong_1978 2005-11-02
  • 打赏
  • 举报
回复
[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]

这个表达式怎么不匹配字符“-”,呀
swordragon 2005-11-01
  • 打赏
  • 举报
回复
string str17 = "123abc456";
str17 = Regex.Replace(str17,@"[^\d].*","");
masong_1978 2005-11-01
  • 打赏
  • 举报
回复
to adandelion(被封杀) :


如果字符串中不全是数字,比如
123sdfsdfd34343df,
如何能取出前面的123呢?
jxufewbt 2005-11-01
  • 打赏
  • 举报
回复
^[A-Za-z0-9)*[A-Za-z0-9\-]*[A-Za-z0-9]$
masong_1978 2005-11-01
  • 打赏
  • 举报
回复
如果字符串中不全是数字,比如
123sdfsdfd34343df,
如何能取出前面的123呢?
adandelion 2005-11-01
  • 打赏
  • 举报
回复
using System.Text.RegularExpressions;

private void Button3_Click(object sender, System.EventArgs e)
{
string str = this.TextBox2.Text.Trim();
System.Text.RegularExpressions.Regex strRegex = new Regex(@"[0-9]",RegexOptions.IgnoreCase);
//MatchCollection metches = strRegex.Matches(str);
if(strRegex.Matches(str).Count == str.Length)
{
Response.Write("<br>输入的全是数");
}
System.Text.RegularExpressions.Regex strRegex2 = new Regex(@"[a-z]",RegexOptions.IgnoreCase);
if(strRegex2.Matches(str).Count == str.Length)
{
Response.Write("输入的全是字母");
}
}
masong_1978 2005-11-01
  • 打赏
  • 举报
回复
分不多了,借这个帖在问一个问题:
如何判断字符串str中是否只包括数字,如果不全是数字,只截取前面的数字!

先谢了!
swordragon 2005-11-01
  • 打赏
  • 举报
回复
^[A-Za-z0-9)*[A-Za-z0-9\-]*[A-Za-z0-9]$
adandelion 2005-11-01
  • 打赏
  • 举报
回复
^[A-Za-z0-9][A-Za-z0-9\-]*[A-Za-z0-9]$ 长度大于>2
^[A-Za-z0-9][A-Za-z0-9\-]{4,13}[A-Za-z0-9]$ 5<长度<16

tiaoci 2005-11-01
  • 打赏
  • 举报
回复
[a-zA-Z0-9]|[a-zA-Z0-9][a-zA-Z0-9\-]*[a-zA-Z0-9]
masong_1978 2005-11-01
  • 打赏
  • 举报
回复
没人吗

62,041

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

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