<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">
<channel>
<title><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></title> 
<link>http://jackxiang.com/index.php</link> 
<description><![CDATA[赢在IT，Playin' with IT,Focus on Killer Application,Marketing Meets Technology.]]></description> 
<language>zh-cn</language> 
<copyright><![CDATA[向东博客 专注WEB应用 构架之美 --- 构架之美，在于尽态极妍 | 应用之美，在于药到病除]]></copyright>
<item>
<link>http://jackxiang.com/post//</link>
<title><![CDATA[[Editplus正则扩展]PHP高级群里关于正则匹配小问题之打开 TR1 正则表达式支持以{1,2}的匹配次数方法，来自：膘哥。]]></title> 
<author>jack &lt;xdy108@126.com&gt;</author>
<category><![CDATA[WEB2.0]]></category>
<pubDate>Tue, 03 May 2011 04:05:27 +0000</pubDate> 
<guid>http://jackxiang.com/post//</guid> 
<description>
<![CDATA[ 
	平凡的世界&lt;yyddrr@qq.com&gt;&nbsp;&nbsp;11:42:34<br/>请教一个正则的问题，如何匹配这样的字符串：(1),其中1是一位的数字，前后带小括号，用这三个字符结尾<br/>平凡的世界&lt;yyddrr@qq.com&gt;&nbsp;&nbsp;11:43:12<br/>比如原字符串：“我是一个中国人(4)”,那这个就匹配。<br/>平凡的世界&lt;yyddrr@qq.com&gt;&nbsp;&nbsp;11:44:19<br/>这些都不匹配：“我是一个(4)中国人”，“中国人(98)”,“我是一个中国人（4）”，“我是一个中国人(4d)”<br/>回复如下：<br/>单曲(67803698)&nbsp;&nbsp;11:46:38<br/>$pattern = &#039;/(.*)&#92;([0-9]&#92;)$/&#039;;<br/>平凡的世界&lt;yyddrr@qq.com&gt;&nbsp;&nbsp;11:46:32<br/>多谢单曲，测试一下<br/><br/>解释如下：<br/>(.*)： 匹配所有<br/>[0-9]：匹配数字<br/>&#92;(：转意(<br/><br/>测试结果：<br/>我也用editplus正则匹配了下，是Ok的。<br/><br/>&#92;(&#92;d&#92;)$<br/><br/><textarea name="code" class="html" rows="15" cols="100">
(.*)&#92;(&#92;d&#92;)$
</textarea><br/><br/>回忆未来(372647693)&nbsp;&nbsp;15:18:01<br/>这: (.*)&nbsp;&nbsp; 怎么请？加了括号是什么意思。<br/>我姓-&gt;苏(14044522)&nbsp;&nbsp;15:18:25<br/>任意字符的意思！<br/>回忆未来(372647693)&nbsp;&nbsp;15:18:54<br/>.*:任意字符的意思<br/>那括号呢？<br/>莫莫(3296320)&nbsp;&nbsp;15:18:54<br/>任意<br/>莫莫(3296320)&nbsp;&nbsp;15:19:06<br/>括号可加可不加<br/>春江花月夜(6010707)&nbsp;&nbsp;15:19:45<br/>加括号可以用$1-9的方式捕获结果<br/>.*&#92;(&#92;d&#92;)$ 也成<br/>春江花月夜(6010707)&nbsp;&nbsp;15:20:16<br/>如果只是验证字符串的格式，前面的(.*)匹配是多余的<br/>也成，但是我用ediplus的正则发现不行，于是问了下，膘哥说：<br/>editplus 3.2开始就有这个TR1设置:增加「使用 TR1 正则表达式」选项（「首选项」-&gt;「常规」）。TR1 regular expression才能&#92;d！<br/> TR1 正则表达式：简单的说，C++ TR1 regular expression library就是C++的正则表达式拓展。而按照帮助文档，该选项提供的正则表达式是ECMAScript（JavaScript）兼容的，比原来的正则表达式功能强大很多。<br/><br/>TR1正则表达式？这是什么东东？赶紧更新到EditPlus 3.21，打开帮助文档一看：<br/><br/>Use TR1 regular expression <br/>Check this option to use C++ TR1 regular expression library instead of the previous regular expression feature. TR1 regular expression supports ECMAScript compatible and has more features but is slower than the previous one.<br/><br/>查了一下维基百科，C++ Technical Report 1 (TR1)是ISO/IEC TR 19768, C++ Library Extensions（函式库扩充）的一般名称。TR1是一份文件，内容提出了对C++标准函式库的追加项目。这些追加项目包括了正则表达式、智能指针、哈希表、随机数生成器等。TR1自己并非标准，他是一份草稿文件。<br/><br/>简单的说，C++ TR1 regular expression library就是C++的正则表达式拓展。而按照帮助文档，该选项提供的正则表达式是ECMAScript（JavaScript）兼容的，比原来的正则表达式功能强大很多。<br/><br/>我一直对EditPlus对正则表达式有限支持耿耿于怀，而Notepad++、UltraEdit、EmEditor等编辑器对于正则表达式的支持也不尽如人意。EditPad对正则表达式的支持很好，但是我又用不习惯，而且搜索多个文件的时候好像也用不了正则表达式。现在EditPlus 3.21增强正则表达式，真是太好了，强烈推荐！<br/><br/>Use TR1 regular expression选项默认设置是没有开启的，要选择Tools-&gt;Preferences，勾上才行。现在，只要是JavaScript的正则表达式能做到的，EditPlus也能做到。再次强烈推荐~<br/>http://demon.tw/programming/c-tr1-regular-expression-library.html<br/><br/><br/>再次摘录，以下来自：http://demon.tw/programming/c-tr1-regular-expression-library.html<br/>C++ TR1 regular expression library，这是昨天在EditPlus里看到的，以前一直都没听说过。我不喜欢C++，自然也不会去了解这方面的东西。<br/><br/>据说VS2008 SP1已经基本上完全支持了TR1库，最新的VS2010也支持，正好机器上装有Visual C++ Express 2010，于是测试了一下。<br/><textarea name="code" class="c" rows="15" cols="100">
#include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;regex&gt;

int main(void)
&#123;
&nbsp;&nbsp;&nbsp;&nbsp;std::string str;
&nbsp;&nbsp;&nbsp;&nbsp;std::tr1::cmatch res;
&nbsp;&nbsp;&nbsp;&nbsp;str = &quot;&lt;h2&gt;Egg prices&lt;/h2&gt;&quot;;
&nbsp;&nbsp;&nbsp;&nbsp;std::tr1::regex rx(&quot;&lt;h(.)&gt;([^&lt;]+)&quot;);
&nbsp;&nbsp;&nbsp;&nbsp;std::tr1::regex_search(str.c_str(), res, rx);
&nbsp;&nbsp;&nbsp;&nbsp;std::cout &lt;&lt; res[1] &lt;&lt; &quot;. &quot; &lt;&lt; res[2] &lt;&lt; &quot;&#92;n&quot;;
&#125;
</textarea><br/>能编译通过，输出2. Egg prices，结果也正确。但是TR1自己并非标准，他是一份草稿文件。然而他所提出的项目很有可能成为下次的官方标准。这份文件的目标在于“为扩充的C++标准函式库建立更为广泛的现成实作品”。当C++编译器开始支持得时候，非标准也许会变成事实的标准。<br/><br/>如果没记错的话这是本博客第一次写和C++有关的东西，但是纯粹是对这个EditPlus用的正则表达式库好奇而已，并不表示我对C++看法的改变。<br/><br/>Just use plain C, I don’t need C++ .<br/><br/>参考链接：<br/><br/>TR1 Regular Expressions:http://msdn.microsoft.com/en-us/library/bb982727.aspx<br/>Getting started with C++ TR1 regular expressions:http://www.johndcook.com/cpp_regex.html
]]>
</description>
</item><item>
<link>http://jackxiang.com/post//#blogcomment</link>
<title><![CDATA[[评论] [Editplus正则扩展]PHP高级群里关于正则匹配小问题之打开 TR1 正则表达式支持以{1,2}的匹配次数方法，来自：膘哥。]]></title> 
<author> &lt;user@domain.com&gt;</author>
<category><![CDATA[评论]]></category>
<pubDate>Thu, 01 Jan 1970 00:00:00 +0000</pubDate> 
<guid>http://jackxiang.com/post//#blogcomment</guid> 
<description>
<![CDATA[ 
	
]]>
</description>
</item>
</channel>
</rss>