正则表达式问题

smallmark 2005-02-22 02:33:35
只能以数字开头,数字结尾,中间只可以插入多个下划线,但不能连续输入下划线。

怎么写?
...全文
157 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
_-_-_-_- 2005-02-25
  • 打赏
  • 举报
回复
正则表达式就好象以前的聊天表情一样...
呵呵~~~

学习中~~~
supergoalcn 2005-02-25
  • 打赏
  • 举报
回复
前面几个表达式的反例
模式:\d(_?[^_]+)*_([^_]+_?)*\d
样例:1_1_1
模式:\d(_?[^_])*_([^_]_?)*\d
样例:1_1_1
模式:^[0-9]+(([^_][_][^_])||([_][^_][_]))[0-9]+$
样例:1_1_1_1
supergoalcn 2005-02-25
  • 打赏
  • 举报
回复
^\d([^_]+)*_([^_]+_)*([^_]+)*\d$
用+和*的组合,表示可以没有,或有一个或有多个,所以用前后两个([^_]+)*匹配两端的非_字符,中间剩下的就是非_和_的重复组合了。
linuxyf 2005-02-25
  • 打赏
  • 举报
回复
^[0-9]+(([^_][_][^_])||([_][^_][_]))[0-9]+$
测试不正确,比如:3_fdsa_f_3匹配不了
deyi 2005-02-25
  • 打赏
  • 举报
回复
^[0-9]+(([^_][_][^_])||([_][^_][_]))[0-9]+$
没有测试,应该正确。
JunlanGuo 2005-02-24
  • 打赏
  • 举报
回复
学习
linuxyf 2005-02-23
  • 打赏
  • 举报
回复
^\d([^_]+)*_([^_]+_?)*\d$
正解,测试过
sluggard 2005-02-22
  • 打赏
  • 举报
回复
^[0-9]+[^_]*(_[^_]+)*[0-9]$

不知道这样行不行.基本正确吧.没有经过严格测试.
yellowhwb 2005-02-22
  • 打赏
  • 举报
回复
\d(_?[^_])*_([^_]_?)*\d
应该也行
yellowhwb 2005-02-22
  • 打赏
  • 举报
回复
试试这个:
\d(_?[^_]+)*_([^_]+_?)*\d
web_gus 2005-02-22
  • 打赏
  • 举报
回复
学习
doubon 2005-02-22
  • 打赏
  • 举报
回复
顶!
dazhu2 2005-02-22
  • 打赏
  • 举报
回复
string s=this.textBox1.Text.Trim();

string reg1=@"^[0-9].*[0-9]$";
string reg2=@"_{2,}";

if(Regex.IsMatch(s,reg1) && Regex.IsMatch(s,reg2)==false)
MessageBox.Show("ok");
else
MessageBox.Show("error");

110,567

社区成员

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

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

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