delphi 简单正则替换 问题
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了delphi 简单正则替换 问题相关的知识,希望对你有一定的参考价值。
首先声明本人菜鸟。最近在学习delphi接触到了正则,问题是如果一下的代码要替换的是文件比如说是 a.exe 而不是字符串该如何表达呢?谢谢了分不多都拿出来了。。
uses
PerlRegEx; //uses 正则表达式单元
procedure TForm1.FormCreate(Sender: TObject);
var
reg: TPerlRegEx; //声明正则表达式变量
begin
reg := TPerlRegEx.Create(nil); //建立
reg.Subject := 'sSsS'; //这是要替换的源字符串
reg.RegEx := 's'; //这是表达式, 在这里是准备替换掉的子串
reg.Replacement := '◆'; //要替换成的新串
reg.ReplaceAll; //执行全部替换
ShowMessage(reg.Subject); //返回替换结果: ◆S◆S
FreeAndNil(reg); //或 reg.Free
end;
可能是我表达的不清楚。也就是说如何将a.exe 的内容读入内存,再用利正则表达式搜索替换
再写回原文,能实现吗?麻烦大侠给出例子,不胜感激。
定义一个PCHAR类型的变量(实际上是指针);
检测文件大小,申请相同大小的内存;
打开文件,读入所有内容,关闭文件;
大概代码如下:
var p:pchar; l:integer; f:file;
begin
assign(f,'a.exe');
reset(f,1);
l:=filesize(f);
p:=stralloc(l+1);
blockread(f,p,l);
closefile(f);
end;
请一定粘贴代码,里面reset函数后面是数字1,其余表示长度的变量是l,注意。 参考技术B 正则表达式只能用于字符串本回答被提问者采纳 参考技术C 不好意思,我也是初学,建议你找本书从头到尾学习学习 参考技术D 我是初学者啊 帮不了你
PHP正则匹配与替换的简单例子
PHP正则匹配与替换的简单例子,含一个匹配获取加租字体例子和一个匹配替换超链接的例子。
1、查找匹配 <b> 与 </b> 标签的内容:
<?php $str = "Name: <b>PHP</b> <br> Title: <b>Programming Language</b>"; preg_match_all ("/<b>(.*)<\/b>/U", $str, $arr); print_r($arr[0]); ?>
执行结果如下所示:
Array ( [0] => <b>PHP</b> [1] => <b>Programming Language</b> )
匹配“<b></b>” 以及里面的内容,特殊字符前需要加反斜杠转义。
2、匹配去除超链接
$str = preg_replace("/<a[^>]*>|<\/a>/i","",$str);
匹配超链接标签a,“|”应该是或的意思,[^>]*指任意不是>的字符,或者以>为结尾。
以上是关于delphi 简单正则替换 问题的主要内容,如果未能解决你的问题,请参考以下文章