c#正则问题,在线等....

来源:百度知道 编辑:UC知道 时间:2024/06/01 17:27:46
Regex validateReg = new Regex("^((?!" + dirtyStr + ").(?<!" + dirtyStr + "))*$", RegexOptions.Compiled | RegexOptions.ExplicitCapture);
dirstyStr是从数据库中读的字符串 如:“你的|他的|我的”这样的字符串
做的是一个关键词的筛选,本地调试一切正常
但是上传服务器后,一激发这个程序就不能运行下去了,好像卡住了
if (HttpRuntime.Cache["Regex"] == null)
{
using (PortalDB.PortalDataContext db = new PortalDB.PortalDataContext())
{
var list = db.Portal_GetFilterWords().FirstOrDefault();
string dirtyStr = list.FilterWords;
Regex validateReg = new Regex("^((?!'"+ dirtyStr +"').(?<!'" + dirtyStr + "'))*$", RegexOptions.Compiled | RegexOptions.ExplicitCapture);
HttpRuntime.Cache.Insert("Regex", validateReg, null, DateTime.Now.AddMinutes(20), TimeSpan.Zero);
}
}

用ASP.NET就能运行下去了

卡住了?但从你的代码来看,这个只是一个正则的验证而已,你可以试着不验证它,看看到底是不是它在出错,可能问题还不是它。可能是js,也可能是其它程序的问题。

看看服务器支持的码

卡住是什么意思?不验证看看!是不是程序问题。

有可能是编码问题,检查服务器默认字符编码是否和你本地相同~