2009-11-04 38 views
1

好吧,所以我需要能够匹配字符串的方式,给我更多的灵活性。 所以,这里是一个例子。举例来说,如果我有字符串“这是我的随机字符串”,我想一些办法让在C中匹配字符串#

" *random str* ", 
" *is __ ran* ", 
" *is* ", 
" *this is * string ", 

所有符合了它,我认为在这一点简单的真或假的会好于天气它匹配的或不是,但基本上像*基本*为任何字符的任何长度,也_将匹配任何一个字符。我想不出一个办法,虽然我确定有,所以如果可能的话,可以回答请包含代码示例,并提前致谢!

+0

我有点困惑,因为问题是用正则表达式标记的(它看起来不是后来的编辑),你在找什么和正则表达式不同? – 2009-11-04 00:42:19

回答

5

我不能完全弄清楚你想要做什么,但在应对:

但我还想基本上*是任何长度任何字符,也是_将匹配任意一个字符

在正则表达式,你可以使用.匹配任何单个字符和.+到匹配任意数量的字符(至少一个),或者匹配任意数量的字符(或者如果需要,则不匹配)。

所以你的*is __ ran*的例子可能会变成正则表达式.+is .. ran.+,而this is * string可能是this is .+ string

如果这不能回答你的问题,那么你可能想尝试重新措辞,使其更清晰。

为了学习更多的正则表达式语法,热门网站是regular-expressions.info,它提供了几乎所有你需要的入门。

3

使用Regular Expressions

在C#中,您将使用Regex类。

例如:

var str = "This is my random string"; 

Console.WriteLine(Regex.IsMatch(str, ".*is .. ran.*")); //Prints "True" 
+7

先发制人的评论:现在你会遇到两个问题! – SLaks 2009-11-04 00:26:05

+0

鉴于OP已经用'regex'标记了他的问题,我认为他正在寻找更具体的东西。 :) – Noldorin 2009-11-04 00:27:06

+0

这是为什么downvoted? – SLaks 2009-11-04 00:32:53