社区
C#
帖子详情
如何在存储过程或函数中实现正则表达式的功能
rainbow_57
2005-11-25 02:14:51
小弟有点问题想请教一下,看看各位大大有没有办法帮忙解决。
小弟想写一个存储过程或函数实现正则表达式的功能,在网上找了一下只有通过创建VBScript.RegExp来实现的,而且是只能知道有没有匹配的字符串(即能不能匹配成功)。小弟想更进一步,把匹配到的字符串插入一张临时表中,无奈VBScript根本没有学过,不知道有没有创建C#中的System.Text.RegularExpression的对象的?
...全文
295
5
打赏
收藏
如何在存储过程或函数中实现正则表达式的功能
小弟有点问题想请教一下,看看各位大大有没有办法帮忙解决。 小弟想写一个存储过程或函数实现正则表达式的功能,在网上找了一下只有通过创建VBScript.RegExp来实现的,而且是只能知道有没有匹配的字符串(即能不能匹配成功)。小弟想更进一步,把匹配到的字符串插入一张临时表中,无奈VBScript根本没有学过,不知道有没有创建C#中的System.Text.RegularExpression的对象的?
复制链接
扫一扫
分享
举报
写回复
配置赞助广告
用AI写文章
5 条
回复
切换为时间正序
请发表友善的回复…
发表回复
打赏红包
rainbow_57
2005-11-25
打赏
举报
回复
唉,确实是啊,我查了一下资料,好像有个函数是通过创建VBScript对象来实现简单的查找功能的。但这种功能几乎没什么用,我想写能够匹配出子查询的。
我现在能写出的存储过程是匹配到整个符合的字符串的,但是,这个字符串里面的几组子字符串实在不知道怎么取出来了。好像VBScript没SubMatches之类的对象,或者我不会用吧。哪位老兄会的,来这里Show一下啊。
搬运工木木
2005-11-25
打赏
举报
回复
那等于是要写个正则表达式解释器了
来客心动
2005-11-25
打赏
举报
回复
存储过程的这些方面不强,根据自己的需要可以用 Sql 中的字符串函数,通配符,来实现一些简单的匹配,可以查看帮助文档来找到那些函数
rainbow_57
2005-11-25
打赏
举报
回复
不好意思啊,我想楼上的误会我的意思了。在C#里用正则表达式的功能写一些过程函数我也会。
我是想将这个功能搬到存储过程或者函数里面。
jxufewbt
2005-11-25
打赏
举报
回复
示例代码:
///提取HTML代码中文字的C#函数
/// <summary>
/// 去除HTML标记
/// </summary>
/// <param name="strHtml">包括HTML的源码 </param>
/// <returns>已经去除后的文字</returns>
using System;
using System.Text.RegularExpressions;
public class StripHTMLTest{
public static void Main(){
string s=StripHTML("<HTML><HEAD><TITLE>中国石龙信息平台</TITLE></HEAD><BODY>faddfs龙信息平台</BODY></HTML>");
Console.WriteLine(s);
}
public static string StripHTML(string strHtml){
string [] aryReg ={
@"<script[^>]*?>.*?</script>",
@"<(\/\s*)?!?((\w+:)?\w+)(\w+(\s*=?\s*(([""'])(\\[""'tbnr]|[^\7])*?\7|\w+)|.{0})|\s)*?(\/\s*)?>",
@"([\r\n])[\s]+",
@"&(quot|#34);",
@"&(amp|#38);",
@"&(lt|#60);",
@"&(gt|#62);",
@"&(nbsp|#160);",
@"&(iexcl|#161);",
@"&(cent|#162);",
@"&(pound|#163);",
@"&(copy|#169);",
@"&#(\d+);",
@"-->",
@"<!--.*\n"
};
string [] aryRep = {
"",
"",
"",
"\"",
"&",
"<",
">",
" ",
"\xa1",//chr(161),
"\xa2",//chr(162),
"\xa3",//chr(163),
"\xa9",//chr(169),
"",
"\r\n",
""
};
string newReg =aryReg[0];
string strOutput=strHtml;
for(int i = 0;i<aryReg.Length;i++){
Regex regex = new Regex(aryReg[i],RegexOptions.IgnoreCase);
strOutput = regex.Replace(strOutput,aryRep[i]);
}
strOutput.Replace("<","");
strOutput.Replace(">","");
strOutput.Replace("\r\n","");
return strOutput;
}
}
ssdb写入mysql_ssdb使用笔记
ssdb是一款类似于redis的nosql数据库,不过redis是基于内存的,服务器比较昂贵,ssdb则是基于硬盘存储的,很容易扩展,对于一些对速度要求不是太高的应用,还是不错的选择。先记录一个比较坑的东西,具体的用法以后补充。ssdb删除数据的时候有很多
中
方法:flushdb 删除整个数据库
中
的所有数据qclear 删除列表类型的数据hclear 删除hash类型的数据zcl...
SSDB 使用笔记
1.SSDB
中
scan key_start key_end limit ,key_start 和 key_end 是指字母的顺序,不是数字。 2. 进入客户端:./ssdb-cli -p 8888 转载于:https://www.cnblogs.com/Jtianlin/p/4711891.html...
ssdb使用笔记
ssdb是一款类似于redis的nosql数据库,不过redis是基于内存的,服务器比较昂贵,ssdb则是基于硬盘存储的,很容易扩展,对于一些对速度要求不是太高的应用,还是不错的选择。 先记录一个比较坑的东西,具体的用法以后补充。 ssdb删除数据的时候有很多
中
方法: flushdb 删除整个数据库
中
的所有数据 qclear 删除列表类型的...
ssdb写入mysql_SSDB数据库笔记
SSDB:一个高性能的支持丰富数据结构的 NoSQL 数据库, 用于替代 Redis.参考文献:环境win10 下 wsl 环境 ubuntu 的 ssdb配置文件配置文件使用Tab而不是空格做缩排(复制到配置文件后请把空格替换为Tab)work_dir = /usr/data/ssdb_8883pidfile = /usr/data/ssdb_8883.pidserver:ip: 0.0.0.0...
基于C语言的ssdb笔记 ----hashmap的简单实例
ssdb支持 zset, map/hash, list, kv 数据结构,同redis差不多。下面是关于ssdb hsahmap的使用笔记 1.ssdb hashmap的命令 1.hset name key value 设置hashmap
中
指定key的值 2.hget name key 获取hashmap
中
指定key的值 3.hdel name key 删除hashmap...
C#
111,128
社区成员
642,534
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章