读书人

请教这个正则表达式如何写

发布时间: 2012-05-29 12:16:00 作者: rapoo

请问,这个正则表达式怎么写?
string s = "百位邻期方案23";

要求:
如果字符串s中具有“方案”二字,就取“方案”以前的字符串。
如果没有“方案”二字,就全取字符串s。


正则表达式该怎么写?

[解决办法]
if(s.indexOf("方案")!=-1)
[解决办法]

C# code
Regex reg = new Regex(@"(?is)(?(.*方案).*?(?=方案)|.*)");            string source = "百位邻期方案23";                       string replacestr = @"";            Regex reg = new Regex(@"(?is)(?(.*方案).*?(?=方案)|.*)");            Match mm = reg.Match(source);            MessageBox.Show(mm.Value);
[解决办法]
C# code
new Regex("(?is)((.*方案)|(.*))")
[解决办法]
看错了,如果是提取方案以前字符串的话,二楼正确的
[解决办法]
这个也不一定非得正则啊,,字符串截取也可以的
[解决办法]
string s = "百位邻期方案23";
string regx = "(.*)方案|(.*)";
Match one = Regex.Match(s, regx);
Console.WriteLine(one.Groups[1].Value == "" ? one.Groups[2].Value : one.Groups[1].Value);
[解决办法]
C# code
^(?:(?!方案).)+ 

读书人网 >C#

热点推荐