社区
C#
帖子详情
如何在存储过程或函数中实现正则表达式的功能
rainbow_57
2005-11-25 02:14:51
小弟有点问题想请教一下,看看各位大大有没有办法帮忙解决。
小弟想写一个存储过程或函数实现正则表达式的功能,在网上找了一下只有通过创建VBScript.RegExp来实现的,而且是只能知道有没有匹配的字符串(即能不能匹配成功)。小弟想更进一步,把匹配到的字符串插入一张临时表中,无奈VBScript根本没有学过,不知道有没有创建C#中的System.Text.RegularExpression的对象的?
...全文
250
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;
}
}
使用Python
正则表达式
操作文本数据的方法
什么是
正则表达式
正则表达式
,是简单地字符的序列,可指定特定的搜索模式。
正则表达式
已存在很长一段时间,并且它本身就是计算机科学的一个领域。 在 Python
中
,使用Python的内置re模块处理
正则表达式
操作 。在本节
中
,我将介绍创建
正则表达式
并使用它们的基础知识。您可以使用以下步骤
实现
正则表达式
: 指定模式字符串。 将模式字符串编译为
正则表达式
对象。 使用
正则表达式
对象在字符串
中
搜索模式。 可选:从字符串
中
提取匹配的模式。 编写和使用
正则表达式
在Python
中
创建
正则表达式
的第一步是导入re 模块: import re Python
正则表达式
使用模式字符串表示,模式字
反射,动态代理,正则,注解
在开发
中
,通常很多数据都会使用String类存储。原因:操作字符串的
功能
比较多,比较方便。 在操作String类对象时,会经常遇到对字符串进行验证的
功能
,而按照我们之前学习的String类,我们使用String类
中
的诸多
函数
是可以完成对字符串校验
功能
的,但是代码相对来说比较麻烦,所以在Java
中
引入
正则表达式
的概念来解决上述问题,即简化代码。
正则表达式
:专门用于操作字符串的技术,并且可以简化代码,用于对字符串的复杂操作。
正则表达式
弊端:代码可读性比较差。 反射要依赖于Class类。 由于Class表示类文件的字节码文件对象,类字节码文件就是在描述一个类,描述类的成员变量、成员
函数
和构造
函数
。 而反射就是从一个类的字节码文件
中
拿到成员变量、成员
函数
和构造
函数
。要想从一个类
中
拿东西必须拿到这个类的字节码文件对象,所以反射依赖于Class,因此我们在学习反射之前先了解下Class。
带你学会使用
正则表达式
内容简介:
正则表达式
,又称正规表示法、常规表示法(英语:Regular Expression,在代码
中
常简写为regex、regexp或RE)。计算机科学的一个概念。
正则表达式
使用单个字符串来描述、匹配一系列符合某个句法规则的字符串...
浅谈python下含
中
文字符串
正则表达式
的编码问题
前言 Python文件默认的编码格式是ascii ,无法识别汉字,因为ascii码
中
没有
中
文。 所以py文件
中
要写
中
文字符时,一般在开头加 # -*- coding: utf-8 -*- 或者 #coding=utf-8。 这是指定一种编码格式,意味着用该编码存储
中
文字符(也可以是gbk、gb2312等)。 关于测试的几点注意 ——————————————– 注1:代码
中
有
中
文,就要在头部指定编码方式,如果用编辑器写代码,还要注意IDE的文件存储编码格式(一般在setting) 注2:python3.x的源码文件默认使用utf-8编码,可以解析
中
文,开头不指定也行,但为了规范和避免一些意想不到
PHP
中
使用
正则表达式
提取
中
文
实现
笔记
最近老板叫做一个数据查重的小练习,涉及从一个包含
中
文字段的文件
中
提取出其
中
的
中
文字段并存储,使用php开发。
中
间涉及到php
正则表达式
中
文匹配的问题,网上搜罗一大片,但是也很乱没有一个准信儿,经过自己的代码的修改和检验,先将extract
函数
写下。 首先要注意到的是,双字节字符的编码问题,这里我们以后还可能会遇到像韩文、日文等编码问题,与
中
文理解上是一个意思。 1. GBK (GB2312/GB18030) 复制代码 代码如下: \x00-\xff GBK双字节编码范围 \x20-\x7f ASCII \xa1-\xff
中
文 gb2312 \x80-\xff
中
文 gbk
C#
110,545
社区成员
642,580
社区内容
发帖
与我相关
我的任务
C#
.NET技术 C#
复制链接
扫一扫
分享
社区描述
.NET技术 C#
社区管理员
加入社区
获取链接或二维码
近7日
近30日
至今
加载中
查看更多榜单
社区公告
让您成为最强悍的C#开发者
试试用AI创作助手写篇文章吧
+ 用AI写文章