??xml version="1.0" encoding="utf-8" standalone="yes"?>手机福利在线,中文字幕亚洲一区二区va在线,婷婷综合久久http://www.aygfsteel.com/hoocoral/Record my Java-learning progress.zh-cnMon, 07 Jul 2025 18:34:26 GMTMon, 07 Jul 2025 18:34:26 GMT60[转]JBoss deploy 出现 OutOfMemoryError : PermGen spacehttp://www.aygfsteel.com/hoocoral/articles/354841.html胡昆?/dc:creator>胡昆?/author>Fri, 22 Jul 2011 03:47:00 GMThttp://www.aygfsteel.com/hoocoral/articles/354841.htmlhttp://www.aygfsteel.com/hoocoral/comments/354841.htmlhttp://www.aygfsteel.com/hoocoral/articles/354841.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/354841.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/354841.html

PermGen space的全U是Permanent Generation space,是指内存的永久保存区域OutOfMemoryError: PermGen space从表面上看就是内存益出,解决Ҏ也一定是加大内存。说说ؓ什么会内存益出Q这一部分用于存放Class和Meta的信?Class在被 Load的时候被攑օPermGen space区域Q它和和存放Instance的Heap区域不同,GC(Garbage Collection)不会在主E序q行期对PermGen spaceq行清理Q所以如果你的APP会LOAD很多CLASS的话,很可能出现PermGen space错误。这U错误常见在web服务器对JSPq行pre compile的时候?/p>

ҎҎQ在 run.bat 中加入:-Xms256m -Xmx512m -XX:MaxNewSize=256m -XX:MaxPermSize=256m

因ؓ目中引用了很多?jar 包,而这?jar 包中?class 信息会被 JBoss ?class loader 加蝲?PermGen space 区域Q在 JVM 默认的情况下Q该部分I间的大只?4MQ在 jar 包非常多的情况下Q显然是不够用的Q所以通过 -XX:MaxPermSize=256m 指定最大值后卛_解决问题?/p>

另外Q如?heap 内存不出现 java.lang.OutOfMemoryError: Java heap space Ӟ可以通过 -Xmx512m 指定最?heap 内存来解册L问题?/p>

]]>
PV3D COLLADA模型的用方?/title><link>http://www.aygfsteel.com/hoocoral/articles/317907.html</link><dc:creator>胡昆?/dc:creator><author>胡昆?/author><pubDate>Fri, 09 Apr 2010 17:59:00 GMT</pubDate><guid>http://www.aygfsteel.com/hoocoral/articles/317907.html</guid><wfw:comment>http://www.aygfsteel.com/hoocoral/comments/317907.html</wfw:comment><comments>http://www.aygfsteel.com/hoocoral/articles/317907.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hoocoral/comments/commentRss/317907.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hoocoral/services/trackbacks/317907.html</trackback:ping><description><![CDATA[<p style="padding-bottom: 0px; line-height: 1.8em; border-right-width: 0px; background-color: transparent; text-indent: 2em; margin: 0.7em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial"><strong style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; vertical-align: baseline; border-left-width: 0px; font-weight: bold; padding-top: 0px; background-origin: initial; background-clip: initial">1.Colladac?/strong>Q简便,但不支持骨骼{动M息,适合导入静止的场景模型?br /> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #0000ff">import</span><span style="color: #000000"> org.papervision3d.objects.parsers.Collada; </span><span style="color: #008000">//</span><span style="color: #008000">引用的Collada?/span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> var carcollada:Collada;</span><span style="color: #008000">//</span><span style="color: #008000">声明Collada为carcollada</span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />var carcollada</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000"> Collada(</span><span style="color: #000000">"</span><span style="color: #000000">模型.XML或dae</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">导入外部模型文g</span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000">carcollada.addEventListener(FileLoadEvent.LOAD_COMPLETE, 完成后该怎么办的Ҏ);</span></div> </p> <br /> <p style="padding-bottom: 0px; line-height: 1.8em; border-right-width: 0px; background-color: transparent; text-indent: 2em; margin: 0.7em 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; vertical-align: baseline; border-left-width: 0px; padding-top: 0px; background-origin: initial; background-clip: initial"><strong style="padding-bottom: 0px; border-right-width: 0px; background-color: transparent; margin: 0px; padding-left: 0px; outline-width: 0px; padding-right: 0px; border-top-width: 0px; border-bottom-width: 0px; font-size: 14px; vertical-align: baseline; border-left-width: 0px; font-weight: bold; padding-top: 0px; background-origin: initial; background-clip: initial">2.Daec?/strong>Q声明多几步Q读取慢一点,支持骨骼动画{,而且q在不断d新的功能?br /> </p> <div style="border-bottom: #cccccc 1px solid; border-left: #cccccc 1px solid; padding-bottom: 4px; background-color: #eeeeee; padding-left: 4px; width: 98%; padding-right: 5px; font-size: 13px; word-break: break-all; border-top: #cccccc 1px solid; border-right: #cccccc 1px solid; padding-top: 4px"><img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /><span style="color: #0000ff">import</span><span style="color: #000000"> org.papervision3d.objects.parsers.DAE;</span><span style="color: #008000">//</span><span style="color: #008000">引用的DAE?/span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #0000ff">private</span><span style="color: #000000"> var cardae:DAE</span><span style="color: #000000">=</span><span style="color: #0000ff">new</span><span style="color: #000000"> DAE(</span><span style="color: #0000ff">true</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">声明DAE为cardae</span><span style="color: #008000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" /></span><span style="color: #000000"><br /> <img align="top" src="http://www.aygfsteel.com/images/OutliningIndicators/None.gif" alt="" />cardae.load(</span><span style="color: #000000">"</span><span style="color: #000000">模型.XML或dae</span><span style="color: #000000">"</span><span style="color: #000000">);</span><span style="color: #008000">//</span><span style="color: #008000">导入外部模型文g</span></div> <img src ="http://www.aygfsteel.com/hoocoral/aggbug/317907.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hoocoral/" target="_blank">胡昆?/a> 2010-04-10 01:59 <a href="http://www.aygfsteel.com/hoocoral/articles/317907.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>调用可能未定义的Ҏ load/data (通过 static cd flash.net:FileReference 引用)http://www.aygfsteel.com/hoocoral/articles/311625.html胡昆?/dc:creator>胡昆?/author>Tue, 02 Feb 2010 02:21:00 GMThttp://www.aygfsteel.com/hoocoral/articles/311625.htmlhttp://www.aygfsteel.com/hoocoral/comments/311625.htmlhttp://www.aygfsteel.com/hoocoral/articles/311625.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/311625.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/311625.html调用可能未定义的Ҏ load (通过 static cd flash.net:FileReference 引用)?/div>
讉K可能未定义的属?data (通过 static cd flash.net:FileReference 引用)?/div>

查了API后,发现官方API与本地API对不hQ于是把FlexBuilder升更新?.0.2后,此问题解冟?/div>

]]>改变FLEX中Tree控g的外?/title><link>http://www.aygfsteel.com/hoocoral/articles/308387.html</link><dc:creator>胡昆?/dc:creator><author>胡昆?/author><pubDate>Wed, 06 Jan 2010 02:01:00 GMT</pubDate><guid>http://www.aygfsteel.com/hoocoral/articles/308387.html</guid><wfw:comment>http://www.aygfsteel.com/hoocoral/comments/308387.html</wfw:comment><comments>http://www.aygfsteel.com/hoocoral/articles/308387.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hoocoral/comments/commentRss/308387.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hoocoral/services/trackbacks/308387.html</trackback:ping><description><![CDATA[<span style="color: #333333; font-family: 'Trebuchet MS', Georgia, Arial, Helvetica, sans-serif; font-size: 13px; "> <p style="line-height: 1.67em; ">使用Flex中的Tree控g时候,你可能很不喜Ƣ它默认的外观。那个尖的头和节点前面丑陋的图标很难看。如果需要改变它Q可以用下面几个属性:</p> <ul style="line-height: 1.67em; "> <li>disclosureClosedIcon</li> <li>disclosureOpenIcon</li> <li>folderClosedIcon</li> <li>folderOpenIcon</li> <li>defaultLeafIcon</li> </ul> </span> <img src ="http://www.aygfsteel.com/hoocoral/aggbug/308387.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hoocoral/" target="_blank">胡昆?/a> 2010-01-06 10:01 <a href="http://www.aygfsteel.com/hoocoral/articles/308387.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]System.getProperty()http://www.aygfsteel.com/hoocoral/articles/305486.html胡昆?/dc:creator>胡昆?/author>Thu, 10 Dec 2009 14:14:00 GMThttp://www.aygfsteel.com/hoocoral/articles/305486.htmlhttp://www.aygfsteel.com/hoocoral/comments/305486.htmlhttp://www.aygfsteel.com/hoocoral/articles/305486.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/305486.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/305486.html//java 通过System.getProperties()获取pȝ参数

   Properties props
=System.getProperties(); //pȝ属?/span>
   System.out.println("Java的运行环境版本:"+props.getProperty("java.version"));
   System.out.println(
"Java的运行环境供应商Q?/span>"+props.getProperty("java.vendor"));
   System.out.println(
"Java供应商的URLQ?/span>"+props.getProperty("java.vendor.url"));
   System.out.println(
"Java的安装\径:"+props.getProperty("java.home"));
   System.out.println(
"Java的虚拟机规范版本Q?/span>"+props.getProperty("java.vm.specification.version"));
   System.out.println(
"Java的虚拟机规范供应商:"+props.getProperty("java.vm.specification.vendor"));
   System.out.println(
"Java的虚拟机规范名称Q?/span>"+props.getProperty("java.vm.specification.name"));
   System.out.println(
"Java的虚拟机实现版本Q?/span>"+props.getProperty("java.vm.version"));
   System.out.println(
"Java的虚拟机实现供应商:"+props.getProperty("java.vm.vendor"));
   System.out.println(
"Java的虚拟机实现名称Q?/span>"+props.getProperty("java.vm.name"));
   System.out.println(
"Javaq行时环境规范版本:"+props.getProperty("java.specification.version"));
   System.out.println(
"Javaq行时环境规范供应商Q?/span>"+props.getProperty("java.specification.vender"));
   System.out.println(
"Javaq行时环境规范名Uͼ"+props.getProperty("java.specification.name"));
   System.out.println(
"Java的类格式版本P"+props.getProperty("java.class.version"));
   System.out.println(
"Java的类路径Q?/span>"+props.getProperty("java.class.path"));
   System.out.println(
"加蝲库时搜烦的\径列表:"+props.getProperty("java.library.path"));
   System.out.println(
"默认的时文件\径:"+props.getProperty("java.io.tmpdir"));
   System.out.println(
"一个或多个扩展目录的\径:"+props.getProperty("java.ext.dirs"));
   System.out.println(
"操作pȝ的名Uͼ"+props.getProperty("os.name"));
   System.out.println(
"操作pȝ的构Ӟ"+props.getProperty("os.arch"));
   System.out.println(
"操作pȝ的版本:"+props.getProperty("os.version"));
   System.out.println(
"文g分隔W:"+props.getProperty("file.separator"));   //?nbsp;unix pȝ中是Q/Q?/span>
   System.out.println("路径分隔W:"+props.getProperty("path.separator"));   //?nbsp;unix pȝ中是Q?Q?/span>
   System.out.println("行分隔符Q?/span>"+props.getProperty("line.separator"));   //?nbsp;unix pȝ中是Q?nQ?/span>
   System.out.println("用户的̎户名Uͼ"+props.getProperty("user.name"));
   System.out.println(
"用户的主目录Q?/span>"+props.getProperty("user.home"));
   System.out.println(
"用户的当前工作目录:"+props.getProperty("user.dir"));


]]>[转]VSS2005补丁列表http://www.aygfsteel.com/hoocoral/articles/300338.html胡昆?/dc:creator>胡昆?/author>Fri, 30 Oct 2009 05:59:00 GMThttp://www.aygfsteel.com/hoocoral/articles/300338.htmlhttp://www.aygfsteel.com/hoocoral/comments/300338.htmlhttp://www.aygfsteel.com/hoocoral/articles/300338.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/300338.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/300338.html916688 http://support.microsoft.com/kb/916688/) 修复: 在Windows 2000上用与Visual Studio 2005集成的Visual SourceSafe 2005 局域网加速服?时出现的错误消息Q?#8220;无法使用SourceSafe 局域网服务”

917491 http://support.microsoft.com/kb/917491/) 修复: 使用– d 参数QAnalyze.exe 实用工具可能会错误地U除Visual SourceSafe 2005中的文g和工E?br style="word-wrap: break-word; line-height: normal; " />
925234 http://support.microsoft.com/kb/925234/) 修复:可能无法打开或签Z个用Visual SourceSafe 2005{օ的PDF文g?br style="word-wrap: break-word; line-height: normal; " />
927004 http://support.microsoft.com/kb/927004/) 修复: 在Visual SourceSafe 2005中对一个文件执行合q操作后Q最多仅?个帐号可以访问合q后的文件?br style="word-wrap: break-word; line-height: normal; " />
923842 http://support.microsoft.com/kb/923842/) 修复: 当在Visual SourceSafe 2005中?Analyze.exe 实用工具ӞAnalyze.log 文g中的错误消息: "文g 0\DATA\\ 不是一个有效的 SourceSafe 物理数据库文? 

923434 http://support.microsoft.com/kb/923434/) 修复:用Visual SourceSafe 2005{օ后的PDF文g会出错损坏?br style="word-wrap: break-word; line-height: normal; " />
924702 http://support.microsoft.com/kb/924702/) 修复:在Visual SourceSafe 2005中把文gcdҎ了UTF8后,你不能对一个文件的最新版本与它的M早期版本q行比较?br style="word-wrap: break-word; line-height: normal; " />
925275 http://support.microsoft.com/kb/925275/) 修复:当你生成一个源文g的历史报告时, Visual SourceSafe 2005 可能会意外终?br style="word-wrap: break-word; line-height: normal; " />
928392 http://support.microsoft.com/kb/928392/) 修复:当你在Visual SourceSafe 6.0试{օ一个有注释模板Q且注释模板过3行的文g时出现的错误消息: "L仉? 

927887 http://support.microsoft.com/kb/927887/) 修复:当你?Visual SourceSafe 2005 中用获取最新版本项d试获取一个最新版的XML文g时出现的的错误消? "SourceSafe 没能完成写文? 


930573 http://support.microsoft.com/kb/930573/) 修复:当你?"昄历史" 对话框中生成一个报告时Visual SourceSafe 2005 可能会停止响?br style="word-wrap: break-word; line-height: normal; " />
932058 http://support.microsoft.com/kb/932058/) 修复: 当你试把IVSSItem.AutoDetectEncoding 属性的D?"false"Ӟ 如果此项目被 Visual SourceSafe 2005{ևQ将出现错误消息: "System.Runtime.InteropServices.COMException (0x8004D67F)" 

934723 http://support.microsoft.com/kb/934723/) 修复: 在Visual SourceSafe 2005中?Get 命o取得一个文件的指定历史版本Ӟ可能会收C个错误消息?br style="word-wrap: break-word; line-height: normal; " />
932874 http://support.microsoft.com/kb/932874/) 修复: 当你{օ一个大的二q制文gӞVisual SourceSafe 2005可能会停止响?(挂v)

转蝲h明源?a target="_blank" style="word-wrap: break-word; color: #006699; text-decoration: none; line-height: normal; ">www.SCMLife.com,请保留版?

]]>
Flex3 正式?序列?/title><link>http://www.aygfsteel.com/hoocoral/articles/265887.html</link><dc:creator>胡昆?/dc:creator><author>胡昆?/author><pubDate>Wed, 15 Apr 2009 16:50:00 GMT</pubDate><guid>http://www.aygfsteel.com/hoocoral/articles/265887.html</guid><wfw:comment>http://www.aygfsteel.com/hoocoral/comments/265887.html</wfw:comment><comments>http://www.aygfsteel.com/hoocoral/articles/265887.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hoocoral/comments/commentRss/265887.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hoocoral/services/trackbacks/265887.html</trackback:ping><description><![CDATA[1377-4167-5844-4698-0048-5821 <img src ="http://www.aygfsteel.com/hoocoral/aggbug/265887.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hoocoral/" target="_blank">胡昆?/a> 2009-04-16 00:50 <a href="http://www.aygfsteel.com/hoocoral/articles/265887.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item><item><title>[转]ASP.NET 中的正则表达??http://www.aygfsteel.com/hoocoral/articles/213957.html胡昆?/dc:creator>胡昆?/author>Thu, 10 Jul 2008 06:29:00 GMThttp://www.aygfsteel.com/hoocoral/articles/213957.htmlhttp://www.aygfsteel.com/hoocoral/comments/213957.htmlhttp://www.aygfsteel.com/hoocoral/articles/213957.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/213957.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/213957.html预定义的集合元字W?/h3>

使用目前提供的工具可以完成很多工作。但是,要?[0-9] 表示模式中的每个数值数字,或(更糟Q?[0 -9a -zA-Z]表示M字母数字字符Q还有一D늛当O长的q程。ؓ了减d理这些常用但冗长模式的痛苦,事先定义了预定义元字W集合。正则表辑ּ的不同实现定义了不同的预定义元字W集合,下面描述的预定义元字W集合在 .NET Framework 中得?System.Text.RegularExpressions API 的支持。这些预定义元字W的标准语法是,在反斜杠 \ 后跟一个或多个字符。多数预定义元字W只有一个字W,它们的用很ҎQ是冗长字符cȝ理想替代字符。以下是两个CZQ?strong>\d 匚w所有数值数字,\w 匚w所有单词字W(字母数字加下划线Q。例外情冉|一些特定字W代码匹配,此时必须指定所匚w字符的地址Q如 \u000D 匹?Unicode 回RW。下面列Z些最常用的字W类及其{效的元字符?/p>

元字W?/p>

{效字符c?/p>

\a

匚w铃声Q警报)Q\u0007

\b

匚w字符cd的字边界Q它匚w退格字W,\u0008

\t

匚w制表W,\u0009

\r

匚w回RW,\u000D

\w

匚w垂直制表W,\u000B

\f

匚w换页W,\u000C

\n

匚w新行Q\u000A

\e

匚w转义W,\u001B

\040

匚w 3 ?8 q制 ASCII 字符。\040 表示I格Q十q制?32Q?/p>

\x20

使用 2 ?16 q制数匹?ASCII 字符。此例中Q\x2- 表示I格?/p>

\cC

匚w ASCII 控制字符Q此例中?ctrl-C?/p>

\u0020

使用 4 ?16 q制数匹?Unicode 字符。此例中 \u0020 是空根{?/p>

\*

不代表预定义字符cȝL字符都只作ؓ该字W本w对待。因此,\* {同?\x 2AQ是文字 *Q不?* 元字W)?/p>

\p{name}

匚w已命名字W类“name”中的L字符。支持名U是 Unicode l和块范围。例如,Ll、Nd、Z、IsGreek、IsBoxDrawing ?ScQ货币)?/p>

\p{name}

匚w已命名字W类“name”中不包括的文本?/p>

\w

匚wL单词字符。对于非 Unicode ?ECMAScript 实现Q这{同?[a-zA-Z_0-9]。在 Unicode cd中,q等同于 [\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]?/p>

\W

\w 的否定,{效?ECMAScript 兼容集合 [^a-zA-Z_0-9] ?Unicode 字符cd [^\p{Ll}\p{Lu}\p{Lt}\p{Lo}\p{Nd}\p{Pc}]?/p>

\s

匚wLI白区域字符。等效于 Unicode 字符c?[\f\n\r\t\v\x85\p{Z}]。如果?ECMAScript 选项指定 ECMAScript 兼容方式Q\s {效?[ \f\n\r\t\v] Q请注意前导I格Q?/p>

\S

匚wL非空白区域字W。等效于 Unicode 字符cd [^\f\n\r\t\v\x85\p{Z}]。如果?ECMAScript 选项指定 ECMAScript 兼容方式Q\S {效?[^ \f\n\r\t\v] Q请注意 ^ 后的I格Q?/p>

\d

匚wL十进制数字。在 ECMAScript 方式下,{效?Unicode ?[\p{Nd}]、非 Unicode ?[0-9]?/p>

\D

匚wL非十q制数字。在 ECMAScript 方式下,{效?Unicode ?[\p{Nd}]、非 Unicode ?[^0-9]?/p>

表达式示?/h3>

很多人都喜欢通过CZ学习Q下面即提供一些表辑ּCZ。要获取更多CZQ请讉K以下地址中的正则表达式联机数据库Q?a >http://www.regexlib.com/?/p>

模式

说明

^\d{5}$

5 个数值数字,如美国邮政编码?/p>

^(\d{5})|(\d{5}-\d{4}$

5 个数值数字或 5 个数?短划U?4 个数字。匹?5 位数字格式的国邮政~码Q或 5 位数?+ 4 位数字格式的国邮政~码?/p>

^(\d{5}(-\d{4})?$

与前一个相同,但更有效。?? 可模式中的 4 位数字成为可选部分,而不是要求分别比较不同的两个模式Q通过另一U方式)?/p>

^[+-]?\d+(\.\d+)?$

匚wL有可选符L实数?/p>

^[+-]?\d*\.?\d*$

与上一个相同,但也匚wI字W串?/p>

^(20|21|22|23|[01]\d)[0-5]\d$

匚w 24 时制时间倹{?/p>

/\*.*\*/

匚w C 语言风格的注?/* ... */

ASP.NET 中的验证

ASP.NET 提供了一套验证控Ӟ与用旧的(或愿意的话用传l的Q?ASP 处理d相比Q验证控件?Web H体上验证输入变得非常容易。其中一个非常有效的验证器是 RegularExpressionValidatorQ如您所料,它允许您提供必须匚w输入的正则表辑ּ来验证输入。设|控件的 ValidationExpression 属性可指定正则表达式的模式。下面显CZ验证邮政代码字段的验证程序:

<asp:RegularExpressionValidator runat="server" id="ZipCodeValidator"
ControlToValidate="ZipCodeTextBox" ErrorMessage="Invalid ZIP code
format; format should be either 12345 or 12345-6789."
ValidationExpression="(\d{5}(-\d{4})?" />

使用 RegularExpressionValidator 要注意几个问题:

  • 决不要用验证程序要验证的控件中的空字符串来Ȁz验证器。只?RequiredFieldValidator 才可以捕L字符丌Ӏ?/p>

  • 您无需指定匚w字符的开始与l尾Q?strong>^ ?strong>$Q? 它们是事先假讄。如果添加了开始与l尾Q也没有M影响Q不需要这样做?/p>

  • 对于所有验证控件来_必须在客L以及服务器端q行验证。如果正则表辑ּ不是 ECMAScript 兼容方式Q客L验证失败。ؓ了避免这U情况,保表达式是 ECMAScript 兼容方式Q否则只在服务器端进行控仉证?/p>

正则表达?API

除了 ASP.NET 验证控gQ在.NET 中用正则表辑ּ的大多数情况都要使用 System.Text.RegularExpressions 命名I间中发现的cR特别是那些您希望熟悉的ȝ Regex?strong>Match ?MatchCollection?/p>

Z说一下,正则表达式羃写样?regex 的发音究竟是 /reg-eks/ q是 /rej-eks/Q还有一些争议。本人們֐于后者,但两U发音都有专家赞同,所以选择哪个发音由您自己军_?/p>

Regex cL大量的方法和属性,如果您以前没有用q它Q可能会感到无所适从。下面汇M一些最常用的方法:

Ҏ

说明

Escape / Unescape

字符串中的{义元字符Q用作表辑ּ中的文字?/p>

IsMatch

如果正则表达式在输入字符串中发现匚wQ返?#8220;Ture”?/p>

Match

如果在输入字W串中发现匹配,则返回匹配对象?/p>

Matches

如果在输入字W串中发现包含Q何或全部匚wQ则q回匚w集合对象?/p>

Replace

用给定的替换字符串替换输入字W串中的匚w?/p>

Split

输入字W串拆分成用正则表达式匹配分开的数l元素时Q返回数l字W串?/p>

除了指定很多Ҏ外,q有一些选项可以指定Q通常?Regex 对象构造函C。由于这些选项是位屏蔽的一部分Q或许可以同时指定这些选项Q如Q可以同时指?Multiline ?SinglelineQ?/p>

Ҏ

说明

Compiled

当在循环中执行许多匹配操作时使用此选项。这可以节省每一循环的分析表辑ּ步骤?/p>

Multiline

它与输入字符串中的行数没有关pR确切地_它只修改 ^ ?$ 的方式,以便匚w行开?(BOL) 和行l尾 (EOL)Q而不是匹配整个输入字W串的开始和l尾?/p>

IgnoreCase

使模式在匚w搜烦字符串时忽略大小写?/p>

IgnorePatternWhitespace

允许Ҏ需要在模式中包括Q意数量的I白区域Q也支持使用 (?# 注释 #) 语法在模式中加入注释?/p>

SingleLine

它与输入字符串中的行数没有关pR更切地说Q它导?.Q句点)元字W匹配Q意字W,而不是除 \n 之外的Q意字W(默认情况Q?/p>

使用正则表达式常执行的操作包括:验证、匹配和替换。大多数情况下,可以使用 Regex cȝ静态方法完成这些操作,不需要实例化 Regex cLw。要执行验证Q全部要做的是必徏或找到正的表达式,然后使用 Regex cȝ IsMatch() Ҏ表辑ּ应用到输入字W串中。例如,下面的函数演CZ如何使用正则表达式验证邮政编码:

private void ValidateZipButton_Click(object sender, System.EventArgs e)
{
String ZipRegex = @"^\d{5}$";
if(Regex.IsMatch(ZipTextBox.Text, ZipRegex))
{
ResultLabel.Text = "ZIP is valid!";
}
else
{
ResultLabel.Text = "ZIP is invalid!";
}
}

cM的,可以使用静?Replace() Ҏ匹配替换ؓ特定字符Ԍ如下所C:

String newText = Regex.Replace(inputString, pattern, replacementText);

最后,可以使用如下代码遍历输入字符串的匚w集合Q?/p>

private void MatchButton_Click(object sender, System.EventArgs e)
{
MatchCollection matches = Regex.Matches(SearchStringTextBox.Text,
MatchExpressionTextBox.Text);
MatchCountLabel.Text = matches.Count.ToString();
MatchesLabel.Text = "";
foreach(Match match in matches)
{
MatchesLabel.Text += "Found" + match.ToString() + " at
position " + match.Index + ".<br>";
}
}

通常Q在您需要指定默认方式以外的方式Ӟ需要实例化 Regex cȝ实例。特别是在设|选项时。例如,要创建忽略大写和模式空白区域的 Regex 实例Q然后检索与该表辑ּ匚w的集合,则应使用如下代码Q?/p>

Regex re = new Regex(pattern,
    RegexOptions.IgnoreCase | RegexOptions.IgnorePatternWhitespace);
MatchCollection mc = re.Matches(inputString);

本文的下载文件中包括q些CZ的完整用版本,与简?ASP.NET 中的一栗?/p>

免费工具

Regulator (http://royo.is-a-geek.com/iserializable/regulator/) - 一U在客户端运行的正则表达式测试工P通过 Web 服务?RegexLib 紧密集成Q提供对“匚w”?#8220;拆分”?#8220;替换”{的支持。包括性能分析和语法突出显C功能?/p>

RegexDesigner.NET (http://www.sellsbrothers.com/tools/) - 一U功能强大的可视工具Q可帮助构造ƈ试正则表达式。它可生?C# ??VB.NET 代码和已~译汇编代码Q帮助您表辑ּ集成到应用程序中?/p>

Regular Expression Workbench (v2.0) (http://www.gotdotnet.com/Community/UserSamples/Details.aspx?SampleGuid=C712F2DF-B026-4D58-8961-4EE2729D7322) - Eric Gunnerson 开发的工具Q用于创建、测试和研究正则表达式。具?#8220;Examine-o-matic”功能Q允许将鼠标悬停在正则表辑ּ的上方,对其含义q行解码?/p>

高主题

正则表达式有两个不得不说的功能,一个是“命名l?#8221;Q另一个是“四向处理”(lookaround processing)。由于这些功能很用,此处只简单阐qC下?/p>

使用命名l,您可单独命名匚wl,然后在表辑ּ中用程序语a引用q些l。如果结?Replace Ҏ重新讄输入字符串的格式Q通过重新排列序、替换输入字W串中的元素Q,q个功能特别有效。例如,假设日期使用 MM/DD/YYYY 格式的字W串Q而您希望日期格式?DD-MM-YYYY。此Ӟ可编写一个表辑ּ捕获W一U格式,遍历它的匚w集合Qƈ分析每个字符Ԍ然后使用字符串操作徏立替换字W串。这需要大量的代码和大量的处理。如果用命名组Q您可完成同LdQ具体见下:

String MDYToDMY(String input)
{
return Regex.Replace(intput, @"\b(?<month>\d{1,2})/(?<day>\d{1,2}/(?<year>\d{4})\b", "${day}-
${month}-${year}");
}

您还可以按编h按名U引用组。在M情况下,q种引用通称?#8220;反向引用”。另一个经怋用反向引用的场合在匹配表辑ּ本nQ如下这个表辑ּ用于查找重复的字母:[a-z]\1。它匹?#8220;aa”?#8220;bb”?#8220;cc”Q但它不同于 [a-z]{2} ?[a-z][a-z]Q后两者是{效的,后两者允许匹?#8220;ab”?#8220;ac”或Q何其他两个字母的l合。反向引用允许表辑ּC表达式已l分析ƈ匚wq的输入字符串中的部分字W?/p>

“四向处理”指很多正则表辑ּ引擎所支持的正?Lookahead ?Lookbehind 功能。ƈ不是所有的正则表达式引擎都支持验证四向处理。这些构造不使用字符Q即使它们可以匹配字W。有些模式可能在不用四向处理的情况下无法描q。特别是当模式中存在的一部分依赖于另一部分Q如果不使用四向处理Q则不能描述q样的模式。下面介l了每个四向处理的语法?/p>

语法

说明

(?=...)

?Lookahead

(?!...)

?Lookahead

(?<=...)

?Lookbehind

(?<!...)

?Lookbehind

密码验证是必需四向处理的一个示例。假定在密码限制中,密码必须介于 4 ?8 个字W,且必至包含一个数字。ؓ此,您可以仅在匹配中试 \dQ然后用字W串操作来测试长度。但要在正则表达式中实现q一切,必须使用 Lookahead。特别是?lookaheadQ如下所C:^(?=.*\d).{4,8}$

l论

正则表达式是一U描q文本模式的极有效方法,它文本模式成ؓ字符串验证和操作的极好资源?NET Framework 通过 System.Text.RegularExpressions 命名I间Q特别是其中?Regex c)提供了对正则表达式的强大支持。?API 很简单,但编写正的正则表达式通常比较费力。但q运的是Q正则表辑ּ可以重复使用Q您可以通过|络中的各种联机资源Q从中找出其他h设计的表辑ּQ或者在创徏表达式遇到困难时得到帮助?/p>

资源

正则表达式库 http://www.regexlib.com/

正则表达式讨论列?http://aspadvice.com/login.aspx?ReturnUrl=%2fSignUp%2flist.aspx%3fl%3d68%26c%3d16&l=68&c=16

正则表达式论?http://forums.regexadvice.com/

正则表达?Web 日志 http://blogs.regexadvice.com/

Mastering Regular Expressions (O'Reilly)Q作?Jeffrey Friedl http://www.regex.info/

.NET 正则表达式参?http://msdn.microsoft.com/library/en-us/cpref/html/frlrfSystemTextRegularExpressions.asp

Jscript 正则表达式语?http://www.msdn.microsoft.com/library/en-us/script56/html/js56jsgrpRegExpSyntax.asp

正则表达式信?http://www.regular-expressions.info/

作者简?/div>

Steven A. Smith ?Microsoft ?ASP.NET 技术方面的最有hg?(MVP)Q是 ASPAlliance.com ?DevAdvice.com 的总裁和所有者。此外,他也?ASPSmith LtdQ一安Ҏ?.NET 培训的公司)的所有者和首席教师。他撰写了两本著作:“ASP.NET Developer's Cookbook”?#8220;ASP.NET By Example”Qƈ?MSDN ?AspNetPRO 杂志上发表了一些文章。Steve 每年都在各种会议上发表演Ԍ?INETA 联络处的成员。Steve 拥有企业理士学位及计机U学工程理学士学位?/p>

]]>.net打印实现Ҏ备忘http://www.aygfsteel.com/hoocoral/articles/210530.html胡昆?/dc:creator>胡昆?/author>Wed, 25 Jun 2008 05:35:00 GMThttp://www.aygfsteel.com/hoocoral/articles/210530.htmlhttp://www.aygfsteel.com/hoocoral/comments/210530.htmlhttp://www.aygfsteel.com/hoocoral/articles/210530.html#Feedback0http://www.aygfsteel.com/hoocoral/comments/commentRss/210530.htmlhttp://www.aygfsteel.com/hoocoral/services/trackbacks/210530.html
<OBJECT   id=WebBrowser   classid=CLSID:8856F961-340A-11D0-A96B-00C04FD705A2   height=0   width=0></OBJECT>   
  
<input   type=button   value=打印           onclick=document.all.WebBrowser.ExecWB(6,1)>   
  
<input   type=button   value=直接打印   onclick=document.all.WebBrowser.ExecWB(6,6)>   
  
<input   type=button   value=面讄   onclick=document.all.WebBrowser.ExecWB(8,1)>   
  
<input   type=button   value=打印预览   onclick=document.all.WebBrowser.ExecWB(7,1)>


]]>
GridView, DataGrid 中,DataFormatString语法汇?/title><link>http://www.aygfsteel.com/hoocoral/archive/2008/06/10/207000.html</link><dc:creator>胡昆?/dc:creator><author>胡昆?/author><pubDate>Tue, 10 Jun 2008 15:03:00 GMT</pubDate><guid>http://www.aygfsteel.com/hoocoral/archive/2008/06/10/207000.html</guid><wfw:comment>http://www.aygfsteel.com/hoocoral/comments/207000.html</wfw:comment><comments>http://www.aygfsteel.com/hoocoral/archive/2008/06/10/207000.html#Feedback</comments><slash:comments>0</slash:comments><wfw:commentRss>http://www.aygfsteel.com/hoocoral/comments/commentRss/207000.html</wfw:commentRss><trackback:ping>http://www.aygfsteel.com/hoocoral/services/trackbacks/207000.html</trackback:ping><description><![CDATA[<p>DataFormatString格式字符?<br /> DataFormatString="{0:格式字符串}" <p>在DataFormatString 中的 {0} 表示数据本nQ而在冒号后面的格式字W串代表所们希望数据显C的格式Q? <p>数字、货币格式:<br /> 在指定的格式W号后可以指定小数所要显C的位数。例如原来的数据为?.56」,若格式设定ؓ {0:N1}Q则输出为?.5」。其常用的数值格式如下表所C: <p>格式字符?输入 l果 <br /> "{0:C}" 12345.6789 $12,345.68 <br /> "{0:C}" -12345.6789 ($12,345.68) <br /> "{0:D}" 12345 12345 <br /> "{0:D8}" 12345 00012345 <br /> "{0:E}" 12345.6789 1234568E+004 <br /> "{0:E10}" 12345.6789 1.2345678900E+004 <br /> "{0:F}" 12345.6789 12345.68 <br /> "{0:F0}" 12345.6789 12346 <br /> "{0:G}" 12345.6789 12345.6789 <br /> "{0:G7}" 123456789 1.234568E8 <br /> "{0:N}" 12345.6789 12,345.68 <br /> "{0:N4}" 123456789 123,456,789.0000 <br /> "Total: {0:C}" 12345.6789 Total: $12345.68 <p>常用的日期时间格式: <p>格式 说明 输出格式 <br /> d _日期格式 MM/dd/yyyy <br /> D 详细日期格式 dddd, MMMM dd, yyyy <br /> f 完整格式 (long date + short time) dddd, MMMM dd, yyyy HH:mm <br /> F <br /> 完整日期旉格式 <br /> (long date + long time) <br /> dddd, MMMM dd, yyyy HH:mm:ss <br /> g 一般格?(short date + short time) MM/dd/yyyy HH:mm <br /> G 一般格?(short date + long time) MM/dd/yyyy HH:mm:ss <br /> m,M 月日格式 MMMM dd <br /> s 适中日期旉格式 yyyy-MM-dd HH:mm:ss <br /> t _旉格式 HH:mm <br /> T 详细旉格式 HH:mm:ss </p> <img src ="http://www.aygfsteel.com/hoocoral/aggbug/207000.html" width = "1" height = "1" /><br><br><div align=right><a style="text-decoration:none;" href="http://www.aygfsteel.com/hoocoral/" target="_blank">胡昆?/a> 2008-06-10 23:03 <a href="http://www.aygfsteel.com/hoocoral/archive/2008/06/10/207000.html#Feedback" target="_blank" style="text-decoration:none;">发表评论</a></div>]]></description></item></channel></rss> <footer> <div class="friendship-link"> <a href="http://www.aygfsteel.com/" title="狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频">狠狠久久亚洲欧美专区_中文字幕亚洲综合久久202_国产精品亚洲第五区在线_日本免费网站视频</a> </div> </footer> վ֩ģ壺 <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">㰲</a>| <a href="http://" target="_blank">ٳ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˼</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ϴ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ʹ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">÷</a>| <a href="http://" target="_blank">μ</a>| <a href="http://" target="_blank">ν</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">̨</a>| <a href="http://" target="_blank">ʡ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">·</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">˳</a>| <a href="http://" target="_blank">ʶ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank">ɽ</a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <a href="http://" target="_blank"></a>| <script> (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })(); </script> </body>