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 ...
随机推荐
- javascript知识点之DOM与window对象
在学习javascript过程中只是一知半解好多,碰到自己不知道属性方法,到最后都不知道自己学到了什么 js代码为什么这样写 为什么你知道这方法或属性可以这样用. DOM和window对象 DOM基本 ...
- tomcat7 启动项目报错 java.lang.NoSuchMethodError: javax.servlet.ServletContext.getSessionCookieConfig()
JDK版本:jdk1.8.0_77 Tomcat 版本:apache-tomcat-7.0.47 异常重现步骤: 1.完成项目部署 2.启动Tomcat 异常头部信息:java.lang.NoSuch ...
- PHP-PHP-FPM的max_children一些误区
现在nginx + fpm 基本成为主流的配置,其中我们比较关注的是pm.max_chindren的配置 首先,我们关注一个前提设置: pm = static/dynamic, 这个选项是标识fpm子 ...
- javascript标识符
标识符,就是指变量.函数.属性的名字,或者函数的参数. 规则 1.第一个字符必须是一个字母.下划线或是美元符号($) 2.其他字符可以是字母.下划线.美元符号或数字 3.不能是关键字和保留字 4.区分 ...
- linux for循环更改文件名字
#!/bin/bash # for a in CentOS-Base.repo CentOS-Debuginfo.repo CentOS-Media.repo CentOS-Vault.repo Ce ...
- 解决Excel 2010只有一个窗口的问题
Excel 2010打开多个文件,但只有一个窗口的问题. 一般首次安装没有这个问题,碰到装了WPS后再卸载WPS,还有就是OFFICE卸载后重装,也会发生这个现像. 一.: 删除 HKEY_CLASS ...
- 扩展ValidationAttribute 1
MVC中经常会用一些服务端对Model的验证. 服务端验证要继承自ValidationAttribute,并重写IsValid虚方法来自定义自己的验证规则. protected override Va ...
- web api 开发记录
1. 修改 api 返回时间格式 //配置返回的时间类型数据格式 GlobalConfiguration.Configuration.Formatters.JsonFormatter.Serializ ...
- Serif和Sans-serif字体的区别
在西方国家罗马字母阵营中,字体分为两大种类:Sans Serif和Serif,打字机体虽然也属于Sans Serif,但由于是等宽字体,所以另外独立出Monospace这一种类,例如在Web中,表示代 ...
- 总结一下响应式设计的核心CSS技术Media(媒体查询器)的用法。(转)
<meta http-equiv="X-UA-Compatible" content="IE=edge"><!--兼容ie-->< ...