匹配空格

kokubo_wing 2007-02-01 10:49:07
中间匹配空格,中间只能是空格,空格的个数不限,还可能没有空格.这样的正则应该怎么写?
比如:匹配"登录",要求匹配:"登 录"或者"登 录"或者"登录",正则应该写"登[表达式]录",这个表达式该如何写?
...全文
273 14 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
14 条回复
切换为时间正序
请发表友善的回复…
发表回复
kokubo_wing 2007-02-01
  • 打赏
  • 举报
回复
唉,全是星星在回答问题,分给少了,不好分配,下午在问一个问题,开200分的帖子.liujia_0421(SnowLover) 同志太无私了,次次都敲代码,真心的感谢!
kokubo_wing 2007-02-01
  • 打赏
  • 举报
回复
哦,谢谢!
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
而我把^和$去掉后就没有这个限制,就可以匹配到"中 国"了...
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
TO:这样写为什么找不到"中 国"?

这是因为你这样写的正则表达式..

@"^中\s*国$"

你用了"^"和"$",表示你所要匹配的字符串必须要以"中"开始,"以"国"结束...

而你的字符串"中 国人阿三大"不符合这个要求(即以"中"开始,以"国"结束")...
暗石绿 2007-02-01
  • 打赏
  • 举报
回复
string ss = @"^中\s*国";

看来你没了解 $ 的意思
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
or

string str = "中 国人阿三大";
string ss = @"中\s*国";
Regex r = new Regex(ss);
Match m = r.Match(str);
if (m.Success)
{
Console.WriteLine(m.Value);
}
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
这个意思?

string str = "中 国人阿三大";
string ss = @"中\s*国";
Regex r = new Regex(ss);
Match m = r.Match(str);
if (m.Success)
{
Console.WriteLine(m.Groups[0].Value);
}

输出"中 国"
kokubo_wing 2007-02-01
  • 打赏
  • 举报
回复
string str = "中 国人阿三大";
string ss = @"^中\s*国$";
Regex r = new Regex(ss);
Match m = r.Match(str);
if(m.Success)
{
this.richTextBox1.Text = m.Value;
}
这样写为什么找不到"中 国"?
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
don't forget

using System.Text.RegularExpressions;
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
for example:

string str = "登 录";
if (Regex.IsMatch(str, @"^登\s*录$"))
{
Console.WriteLine("匹配");
}
else
{
Console.WriteLine("不匹配");
}
kokubo_wing 2007-02-01
  • 打赏
  • 举报
回复
直接可以定义成string str="^登\s*录$"?
liujia_0421 2007-02-01
  • 打赏
  • 举报
回复
^登\s*录$
cancerser 2007-02-01
  • 打赏
  • 举报
回复
"登[ ]*录"
//括号里现在是个半角的空格,如果需要把全角的也添里就OK了
暗石绿 2007-02-01
  • 打赏
  • 举报
回复
^登\s*录$

111,095

社区成员

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

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

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