求一个正则表达式:匹配包含任意字母、数字、加减乘除、下划线的字符串,但不包含纯数字 或 由数字和减号组成的字符串 求一个正则表达式:匹配包含任意字母、数字、加减乘除、下划线的字符串,但不包含纯数字 或 由数字和减号组成的字符串 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 例如应该能匹配a=b*3/2、mm、a3b但不能匹配2、35、1-3-7等 我已经给你正则了string[] strs = { "a=b*3/2", "mm", "a3b", "2", "35", "1-3-7" }; Regex reg = new Regex(@"(?i)^(?![\d\-]+$)[a-z\d\-+*/_]+$"); foreach (string s in strs) { Console.WriteLine("test {0} is {1}", s, reg.IsMatch(s)); } string str = @"如何得到光标标在中位置,我们(1-2-0)移动光标位置时在(1-1-8'‘’')的任务栏,我们可(2)以看到,第()3几行,第几列,那么这个值能a=b*3/2程序的方法取得吗?"; MatchCollection mc = Regex.Matches(str, @"(?i)[a-z\d\-+*/_]+(?<![^a-z\d\-+*/_][\d\-]+)"); foreach (Match m in mc) { Console.WriteLine(m); }/*ab*3/2*/ 谢谢!我想跟您学习点东西,请问(?i)的意思是什么??<!的意思是什么? (?i) 忽略大小写(?<!exp)匹配前边不是exp的位置http://download.csdn.net/source/2844387 ...(?i)(?<![a-z\d\-+*/_])(?![\d-]+(?![a-z\d\-+*/_]))[a-z\d\-+*/_]+ @"(?i)[a-z\d\-+*/_]+(?<![^a-z\d\-+*/_][\d\-]+)"=>@"(?i)[a-z\d\-+*/_]+(?<!(?:^|[^a-z\d\-+*/_])[\d\-]+)" 或是cj205的修改为(?i)[a-z\d\-+*/_]+(?<!(?<![a-z\d\-+*/_])[\d\-]+) 内联模式http://msdn.microsoft.com/zh-cn/library/ae5bf541%28VS.80%29.aspx VS2005 C# wince下画图问题 取gridview 值的问"题指定的参数已超出有效值的范围" C#中多线程的问题 如何让一个已经打开的系统获得焦点 基于正则表达式的网页过滤,求助! c#如何创建6级XML 请问一下,在treeview中允许多选多个节点怎么做,那个属性??? starocrm 是怎么做的 我是新手,请大家推荐c#开发数据库方面的书。 process.start打开文件后被占用 Winfrom 中 ListBox如何实现上移下移,置顶 置底的功能, C# 画线的问题
应该能匹配a=b*3/2、mm、a3b
但不能匹配2、35、1-3-7等
Regex reg = new Regex(@"(?i)^(?![\d\-]+$)[a-z\d\-+*/_]+$");
foreach (string s in strs)
{
Console.WriteLine("test {0} is {1}", s, reg.IsMatch(s));
}
string str = @"如何得到光标标在中位置,我们(1-2-0)移动光标位置时在(1-1-8'‘’')的任务栏,我们可(2)以看到,第()3几行,第几列,那么这个值能a=b*3/2程序的方法取得吗?";
MatchCollection mc = Regex.Matches(str, @"(?i)[a-z\d\-+*/_]+(?<![^a-z\d\-+*/_][\d\-]+)");
foreach (Match m in mc)
{
Console.WriteLine(m);
}
/*
a
b*3/2
*/
谢谢!我想跟您学习点东西,请问
(?i)的意思是什么?
?<!的意思是什么?
(?<!exp)匹配前边不是exp的位置
http://download.csdn.net/source/2844387
=>
@"(?i)[a-z\d\-+*/_]+(?<!(?:^|[^a-z\d\-+*/_])[\d\-]+)"
(?i)[a-z\d\-+*/_]+(?<!(?<![a-z\d\-+*/_])[\d\-]+)
http://msdn.microsoft.com/zh-cn/library/ae5bf541%28VS.80%29.aspx