php 正则表达式 将形如 "天," ,"安", "门" 转化为"天、安、门", (仅匹配汉字)
#!/usr/bin/php
<?
$rows = file("illwods_deal1.txt");
$goalfile = fopen("illwods_result1.txt", "w") or die("Unable to open file!");
foreach ($rows as $line)
{
$begpos = 0;
$matchpos = 0;
preg_match_all("/(\"[\x{4e00}-\x{9fa5}]\",)+/u", $line, $match);
//print_r($match);
foreach ($match as $words)
{
// print_r($words);
if(count($words) > 0 && strlen($words[0]) > 10)
{
//echo $words[0]. "\n";
preg_match_all("/[\x{4e00}-\x{9fa5}]+/u", $words[0], $strarr);
//print_r($strarr);
$matchpos = strpos($line, $words[0], $begpos);
$befstr = substr($line, $begpos, $matchpos - $begpos);
// echo "beforestr:\n" . $befstr . "\n";
fwrite($goalfile, $befstr);
$begpos = $matchpos + strlen($words[0]);
$goal = "";
foreach ($strarr[0] as $str)
{
if (strlen($goal) == 0)
{
$goal = $str;
}
else
{
$goal = $goal . "、" . $str;
}
}
if (count($strarr[0]) > 0)
{
$goal = "\"" . $goal . "\",";
}
if (strlen($goal) > 2)
{
echo "goalstr:\n" . $goal . "\n";
fwrite($goalfile, $goal);
}
}
}
$afterstr = substr($line, $begpos);
// echo "afterstr:\n" . $afterstr . "\n";
fwrite($goalfile, $afterstr);
}
fclose($goalfile);
?>
//输入文件
六四运动","六 四 运 动","六@四@运@动","六0四0运0动","六o四o运o动","六","四","运","动","六/四/运/动","六\\四\\运\\动","六|四|运|动","六’四’运’动","六,四,运,动","六四运动","六.四.运.动","六$四$运$动","六#四#运#动","六~四~运~动","六!四!运!动","六-四-运-动","六_四_运_动","【六】【四】【运】【动】",
"{六}{四}{运}{动}","(六)(四)(运)(动)","六¥四¥运¥动","[六][四][运][动]",
"GCD","G C D","G@C@D","G0C0D","GoCoD","G","C","D","G\\C\\D","G/C/D","G|C|D","G’C’D","G,C,D","GCD","G.C.D","G¥C¥D","G#C#D","G~C~D","G!C!D","G-C-D","G_C_D","【G】【C】【D】","{G}{C}{D}","(G)(C)(D)","[G][C][D]","G$C$D",
"gcd","g c d","g@c@d","g0c0d","gocod","g","c","d","g\\c\\d","g/c/d","g|c|d","g’c’d","g,c,d","gcd","g.c.d","g¥c¥d","g#c#d","g~c~d","g!c!d","g-c-d","g_c_d","【g】【c】【d】","{g}{c}{d}","(g)(c)(d)","[g][c][d]","g$c$d",
"天安门","天 安 门","天@安@门","天0安0门","天o安o门","天","安","门","天\\安\\门","天/安/门","天|安|门","天’安’门","天,安,门","天安门","天.安.门","天¥安¥门","天#安#门","天~安~门","天!安!门","天-安-门","天_安_门","【天】【安】【门】","{天}{安}{门}","(天)(安)(门)","[天][安][门]","天$安$门",
//输出文件
"六四运动","六 四 运 动","六@四@运@动","六0四0运0动","六o四o运o动","六、四、运、动","六/四/运/动","六\\四\\运\\动","六|四|运|动","六’四’运’动","六,四,运,动","六四运动","六.四.运.动","六$四$运$动","六#四#运#动","六~四~运~动","六!四!运!动","六-四-运-动","六_四_运_动","【六】【四】【运】【动】",
"{六}{四}{运}{动}","(六)(四)(运)(动)","六¥四¥运¥动","[六][四][运][动]",
"GCD","G C D","G@C@D","G0C0D","GoCoD","G","C","D","G\\C\\D","G/C/D","G|C|D","G’C’D","G,C,D","GCD","G.C.D","G¥C¥D","G#C#D","G~C~D","G!C!D","G-C-D","G_C_D","【G】【C】【D】","{G}{C}{D}","(G)(C)(D)","[G][C][D]","G$C$D",
"gcd","g c d","g@c@d","g0c0d","gocod","g","c","d","g\\c\\d","g/c/d","g|c|d","g’c’d","g,c,d","gcd","g.c.d","g¥c¥d","g#c#d","g~c~d","g!c!d","g-c-d","g_c_d","【g】【c】【d】","{g}{c}{d}","(g)(c)(d)","[g][c][d]","g$c$d",
"天安门","天 安 门","天@安@门","天0安0门","天o安o门","天、安、门","天\\安\\门","天/安/门","天|安|门","天’安’门","天,安,门","天安门","天.安.门","天¥安¥门","天#安#门","天~安~门","天!安!门","天-安-门","天_安_门","【天】【安】【门】","{天}{安}{门}","(天)(安)(门)","[天][安][门]","天$安$门",
php 正则表达式 将形如 "天," ,"安", "门" 转化为"天、安、门", (仅匹配汉字)的更多相关文章
- Android 正则表达式匹配汉字中文
关于中文的正则表达式, 应该是^[\\u4E00-\\u9FFF]+$, 和论坛里常被人提起的^[\\u4E00-\\u9FA5]+$很接近需要注意的是论坛里说的^[\\u4E00-\\u9FA5]+ ...
- InstallShield安装包中集成第三方安装包的方案选择
原文:InstallShield安装包中集成第三方安装包的方案选择[转] 我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的 ...
- Python用正则表达式匹配汉字
Python用正则表达式匹配汉字 匹配多个汉字,不包括空格 import re res = re.match(r'[\u4E00-\u9FA5]+', '我是 汉字') print(res) # &l ...
- 使用Setup Factory安装包制作工具制作安装包
在我们开发完软件后,除了极个别案例我们把整个目录复制给客户用外,我们一般都需要做成安装包,方便整个软件的部署操作,以安装包的部署操作可能简单的是复制文件,也可能包括一些注册表.数据库等额外的操作,不过 ...
- InstallShield安装包中集成第三方安装包的方案选择[转]
我们在制作安装包时,有些情况下会涉及第三方安装的集成,这里将讨论如何调用安装第三方包,以及需要注意的事项. 第三方安装包的介质类型有很多,主要有:单独的一个Setup.exe,单独的一个msi包, ...
- 几个NAND/NOR门可以表示一个XOR门?
这段时间就是在看测试相关的东西,无意之中发现了ISCAS85中有个名词EXOR,愣了一下反应过来应该还是异或门,毕竟叫exclusive-OR gate,其中文档中还提到了一句一个异或门可以由四个与非 ...
- 【WIN10】使用VS生成appx安裝包,並安裝測試
就算沒有微軟開發者帳號,我們也是可以創建appx的. 只不過有了帳號,我們可以把這個APPX與商店中的應用關聯,並上傳,方便許多罷了. 下面就說步驟: 1.生成appx 1)菜單:項目->應用商 ...
- Wix Burn:如何将32位和64位的安装包制作成一个安装包
由于Windows Installer不是平台独立的(即区分32-bit和64-bit),因此用Wix制作的安装包在编译不能像.net应用那样采用Any CPU编译,而必须制定是目标Platform是 ...
- Autoit3 正则表达式 匹配汉字
关于Autoit3正则匹配汉字,在网上搜来搜去都是雷同的内容,[\u4e00-\u9fa5] 然而,Invalid all the time 直到认真钻研Help File,最终又看到了这个 http ...
随机推荐
- JQuery 阻止js事件冒泡 阻止浏览器默认操作
//阻止事件冒泡 event.stopPropagation(); //阻止浏览器默认操作 event.preventDefault(); 代码不一定能执行,写给自己看的. 事件冒泡: <a h ...
- jsp之tomcat安装
安装时会碰到一个命令行窗口一闪而过的情况,里面内容是: Neither the JAVA_HOME nor the JRE_HOME environment variable is defined 是 ...
- 用C#,SQL Server编写的音乐播放软件
主界面代码 using System; using System.Collections.Generic; using System.ComponentModel; using System.Data ...
- jquery $.ajax()方法
$(function(){ $('#send').click(function(){ $.ajax({ /* *type:要求为String类型的参数,请求方式(post或get)默认为get. *注 ...
- [BZOJ 3123]森林
这题和 COT1 一定有 JQ 喵~ 线段树的启发式合并,每次要连接两个点时就对比较小的那棵树暴力 DFS 一边 然后均摊时间依旧是 logn 的,均摊真是世界上最邪恶的东西了…… 然后这题的数据是要 ...
- 转载:python中的StringIO模块
注意:python3中应使用io.StringIO StringIO经常被用来作为字符串的缓存,应为StringIO有个好处,他的有些接口和文件操作是一致的,也就是说用同样的代码,可以同时当成文件操作 ...
- centos安装mongodb 3.2.9
centos 6.5 x64 1.下载地址:用迅雷下载,直接下载下不动 https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel62-3.2 ...
- Android开发中经常使用的Content-Type简介
1.application/x-www-form-urlencoded:最常使用的类型(默认也是这种类型),主要用于提交不带文件的post数据. 2.multipart/form-data:需要结合b ...
- mvc中Url.RouteUrl或者Html.RouteLink实现灵活超链接,使href的值随路由名称或配置的改变而改变[bubuko.com]
mvc,超链接除了直接写在a标签的href内还可以使用路由规则来生成,这样在改变了路由规则或者路由名称时不用再去代码中更改href的值,而且还容易遗漏.借助Url.RouteUrl或者Html.Rou ...
- 利用ffmpeg给小视频结尾增加logo水印
背景 1.app有类似微信拍摄小视频功能,时长上限8s,视频文件保存在第三方云存储,app直接上传,后端数据库只记录视频的存放地址. 2.最近一次功能迭代,增加了小视频下载功能,小视频有可能在别的社交 ...