如何用正则表达式表示通配符*

qcrsoft 2007-08-31 06:07:53
我想要的效果是我预先设定好表达式的模板,可能有*也可能没有*,用户输入的字符串要能和我的匹配上,不区分大小写,比如:
设定了“a*”,用户的a、ab都能匹配上
设定了“a”,只有输入a才能匹配上
设定了“*”,可以匹配一切输入
设定了空串“”,只有也输入空串才能匹配

看了半天教程,还是搞不出来,哭求
...全文
726 8 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
-过客- 2007-08-31
  • 打赏
  • 举报
回复
只有在程序里可用的^o^

string test = "";
if(Regex.IsMatch(test, @"^$"))
{
MessageBox.Show("色即是空!");
}
else
{
MessageBox.Show("不空不空^o^");
}
兔子-顾问 2007-08-31
  • 打赏
  • 举报
回复
我也刚想呢。不过我发现
^$无法匹配到空字串哦。
-过客- 2007-08-31
  • 打赏
  • 举报
回复
哈,同楼上,忘了这个,空字符串可以用各种方法来比较了,比如length是否为0等等

用正则就是: ^$

当然,这只是在程序中可以这样用,在验证控件时是不可以的
兔子-顾问 2007-08-31
  • 打赏
  • 举报
回复
空字符串就比较string.Empty
a*需要写成^a.*
-过客- 2007-08-31
  • 打赏
  • 举报
回复
. 小数点可以匹配除了换行符(\n)以外的任意一个字符
* 表达式不出现或出现任意次

.* 这样才表示可以在一行中输入为任意字符

包括换行,即为多行的,用
[\s\S]*
这表示任意多个任意字符

当然,如果说你并不想所有字符都允许,而是只允许为字母或是数字等,那就要根据你的规则来写这里的正则了
-过客- 2007-08-31
  • 打赏
  • 举报
回复
你要的功能可以实现,但并不是你那样用的

设定了“a*”,用户的a、ab都能匹配上
---------
a.*


设定了“*”,可以匹配一切输入
---------
.*


以上为不包括换行的情况,如果可以换行,以上两个分别为
a[\s\S]*

[\s\S]*
活靶子哥哥 2007-08-31
  • 打赏
  • 举报
回复
\*
zhchg6666 2007-08-31
  • 打赏
  • 举报
回复
up

111,093

社区成员

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

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

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