求正则表达式!

newcomer123 2008-07-16 04:54:46
只能包含"(),数字,sin,lg,ln,cos", 也就是数学表达式。
请高手指教!
...全文
90 12 打赏 收藏 转发到动态 举报
写回复
用AI写文章
12 条回复
切换为时间正序
请发表友善的回复…
发表回复
liushihua 2008-07-16
  • 打赏
  • 举报
回复
对这个应该行 ^(sin ¦lg ¦ln ¦cos)\(([1-9]\d*) ¦\d\)$
HimeTale 2008-07-16
  • 打赏
  • 举报
回复
math类里的方法很多很多
还是乖乖的异常捕获吧...
owenliangbin 2008-07-16
  • 打赏
  • 举报
回复
如果LZ的意思是其中sin,lg,ln,cos只可以是对应的字符串有如何?
wangchao1982 2008-07-16
  • 打赏
  • 举报
回复
是顺序的问题.偶找到原因了
wangchao1982 2008-07-16
  • 打赏
  • 举报
回复

using System;
using System.Collections.Generic;
using System.Text;
using System.Text.RegularExpressions;

namespace ConsoleApplication4
{
class Program
{
static void Main(string[] args)
{
Regex reg = new Regex(@"^(sin|lg|ln|cos)\(([1-9]\d*)|\d\)$");
while (true)
{
Console.WriteLine(reg.IsMatch(Console.ReadLine()));
}
}
}
}
wangchao1982 2008-07-16
  • 打赏
  • 举报
回复
^(sin|lg|ln|cos)\(([1-9]\d*)|\d\)$

这个东西很灵活,你可以随心所欲的控制.比如括号中的参数大小等等
bindsang 2008-07-16
  • 打赏
  • 举报
回复
简单一点,只支持整数

\d+|sin|lg|ln|cos|\(|\)

其它的函数,运算符之类的可再加入
kkun_3yue3 2008-07-16
  • 打赏
  • 举报
回复
[\dcgilnos()]

这样也可以
grearo 2008-07-16
  • 打赏
  • 举报
回复
[\d|(sin)|(lg)|(ln)|(cos)|(|)]
kkun_3yue3 2008-07-16
  • 打赏
  • 举报
回复
最好举个例子,是否是判断"输入是否合法"?那就可以用
kkun_3yue3 2008-07-16
  • 打赏
  • 举报
回复
晕,瞎过滤什么呀
[img=http://test.tstring.com.cn/regex1.jpg]http://test.tstring.com.cn/regex1.jpg[/img]
kkun_3yue3 2008-07-16
  • 打赏
  • 举报
回复
[\d|sin|lg|ln|cos|()]

110,892

社区成员

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

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

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