锘??xml version="1.0" encoding="utf-8" standalone="yes"?> 浜庢槸錛岀櫨搴︿箣銆傜湅鍒扮殑絎竴縐嶆柟娉曟槸鐩存帴淇敼娉ㄥ唽琛紝鍒犻櫎鎵╁睍鍚嶅搴旂殑娉ㄥ唽欏癸紝緇撴灉浠ュけ璐ュ憡緇堬紝鐢╡clipse鎵撳紑鏂囦歡渚濈劧鍑烘潵璁頒簨鏈紝鍙兘鏄慨鏀圭殑鍦版柟涓嶅鎴栦笉鍏ㄣ?/p> 鎵懼埌絎簩縐嶆柟娉曪紝緇堜簬瑙e喅闂錛岃褰曞涓嬶細鎵撳紑Explorer錛岀偣鍑昏彍鍗?#8220;宸ュ叿 | 鏂囦歡澶歸夐」”錛岀偣鍑?#8220;鏂囦歡綾誨瀷”錛屾壘鍒板搴旂殑鎵╁睍鍚嶅悗鍒犻櫎鍗沖彲銆?/p> 瀵逛簬鎴戦亣鍒扮殑榪欎釜闂錛岃繕鍙互閫氳繃淇敼eclipse瑙e喅錛氱偣鍑昏彍鍗?#8220;window | preferences”錛岃繘鍏?#8220;General | Editors | File Associations”錛屾坊鍔犱竴涓墿灞曞悕錛岀劧鍚庤緗竴涓粯璁ゆ墦寮鏂瑰紡鍗沖彲銆?/p> 鏋楀瓙澶т簡錛屼粈涔堥笩閮芥湁銆?/span> 闈㈣瘯鏄竴浠舵瘮杈冩湁鎰忔濈殑宸ヤ綔錛岃兘澶熸帴瑙﹀艦褰㈣壊鑹茬殑浜恒?/span> 鏈榪戦潰璇曚簡涓涓瘮杈冨殻寮犵殑浜猴紝璇存槸姣旇緝鍠滄鏈夋寫鎴樼殑宸ヤ綔錛岀鑱屼富瑕佹槸鐢變簬宸ヤ綔娌℃湁鎸戞垬鎬с傜湅鍏剁瑪璇曪紝騫朵笉鏄壒鍒樉鐪箋?/span> 浠栵細鍦ㄩ」鐩腑鎴戞槸璁╂祴璇曡呮瘮杈冨ご鐤肩殑浜猴紝鏈潵瀹夋帓10澶╁共瀹岀殑媧伙紝3澶╁氨騫插畬浜嗭紝鎴戝氨鎵句粬浠祴璇曪紝嫻嬭瘯浜哄憳姣旇緝鐑︼紝鎬誨緱鎻愬墠榪涜嫻嬭瘯宸ヤ綔銆?/span> 鎴戯細涓涓」鐩繪湁涓涓」鐩殑榪涘害瀹夋帓錛屾祴璇曞拰寮鍙戦兘濡傛銆傚湪澶氫綑鐨勬椂闂撮噷錛屾湁娌℃湁鑰冭檻鍋氫簺鍏朵粬鐨勪簨鎯咃紵 浠栵細鎴戦兘澶╁ぉ鐪?/span>PDF浜嗭紝榪樿兘騫蹭粈涔堬紵 鎴戯細娌℃湁鑰冭檻鍋氫竴浜涗唬鐮佽川閲忎紭鍖栫被浼肩殑宸ヤ綔錛?/span> 浠栵細…… 鎴戯細浣犳劅瑙変綘榪欐浠g爜鍐欑殑鎬庝箞鏍鳳紵錛堟垜鎸囩潃浠栫瑪璇曠殑浠g爜錛?/span> 浠栵細鍥犱負鏄瑪璇曪紝鎴戣冭檻鐨勫茍涓嶅錛岃偗瀹氳兘姝g‘鐨勮繍琛屻?/span> 鎴戯細鑳芥紜殑榪愯鍚楋紵錛堟垜鎸囩潃浠栦唬鐮佷腑鐨勪竴澶勶級 浠栵細鎴戝繕璁頒簡錛堟睏涓涓紝for寰幆榪炲垵濮嬪寲閮借兘蹇樿錛夛紝涓嶈繃鍦ㄧ湡姝e紑鍙戠殑鏃跺欎笉浼氳繖鏍楓?/span> 鎴戯細灝辯畻鑳芥紜繍琛岋紙榪樻湁浜涘埆鐨勯敊璇紝鎴戞病鏈夊拰浠栫籂緙犱簡錛夛紝閭d綘鎰熻榪欐浠g爜錛屾湁鍝簺闇瑕佷紭鍖栫殑鍦版柟錛?/span> 浠栵細…… 闈㈣瘯瀹屽悗錛屽悓浜嬭濂藉殻寮犵殑闈㈣瘯鑰咃紝璇村叾鍤e紶涓昏鏄鎬佸拰璇皵銆傚搸錛岀涓嬈″彂鐜伴潰璇曚漢鍛樿矗闂潰璇曞畼鐨勶紝鏇翠綍鍐墊槸琚竴涓茍涓嶆庝箞鏍風殑浜恒?/span> 鏈変竴涓潰璇曡咃紝瀛﹀巻鎸洪珮錛屾垚緇╀篃涓嶉敊錛屾瘯涓氫篃涓嶆槸涓騫翠袱騫翠簡錛岃鏄兂杞仛Linux C寮鍙戯紝絎旇瘯棰樺仛鐨勪笉鏄緢濂姐?/span> 浠栬C璇█鏄竴闂ㄦ瘮杈冪畝鍗曠殑璇█錛岃兘澶熷緢蹇椂闂村氨鑳芥帉鎻°?/span> 瀵逛簬浠栫殑瑙i噴錛屾垜娌℃湁鎬鐤戯紝涔熸病鏈夎繃澶氱殑綰犵紶銆傛瘯绔燂紝C鐨勭畝媧佹槸浼楁墍鍛ㄧ煡鐨勩備絾鏄紝鏃㈢劧璇寸畝鍗曪紝鑳藉寰堝鏄撶殑鎺屾彙錛屼負浣曚笉鍏堝噯澶囷紝鍏堟帉鎻″憿錛?/span> 鏈轟細姘歌繙鎶婃彙鍦ㄦ湁鍑嗗鐨勪漢鎵嬩腑銆備笌鍏惰錛屼笉濡傝繘涓姝ュ幓鍋氾紝鎺屾彙涓誨姩鏄潰璇曚笉璐ョ殑鐪熺悊銆傞潰璇曡呯湅鐨勪笉鍙槸鑳藉姏錛岃繕鏈夋佸害銆?/span> “浠涔堟槸婕備寒鐨勪唬鐮侊紵” 鍓嶄竴孌墊椂闂達紝闈㈣瘯涓涓▼搴忓憳鐨勬椂鍊欙紝浠栫殑鐩爣鏄啓婕備寒鐨勪唬鐮侊紝鎴戜究闂亾榪欐牱涓涓棶棰樸傚鏂圭殑鍥炵瓟鏄?#8220;鐪嬭搗鏉ユ瘮杈冭垝鏈嶇殑浠g爜”錛屾垜娌℃湁緇嗙┒銆?/span> 鍋氳蔣浠跺紑鍙戝伐浣滀篃鏈夊洓騫寸殑鏃墮棿浜嗭紝铏界劧涔熷仛浜у搧鍒嗘瀽絳夊伐浣滐紝浣嗗ぇ閮ㄥ垎鏃墮棿閮芥槸涓綰跨殑璁捐鍜岀紪鐮佸伐浣溿傜紪鍐欎紭縐鐨勪唬鐮侊紝涔熺畻鏄竴涓釜浜鴻拷姹備簡銆備唬鐮佸父鐢ㄧ殑淇グ璇緢澶氾紝婕備寒鐨勪唬鐮併侀珮鏁堢殑浠g爜銆佺ǔ瀹氱殑浠g爜絳変粠澶氫釜鏂歸潰瀵逛唬鐮佽繘琛屽艦瀹廣傞偅浠涔堟牱鐨勪唬鐮佹墠鏄紭縐鍗撹秺鐨勪唬鐮侊紝榪欐槸涓涓垜鍜岄潰璇曡呴兘瑕佹濊冪殑闂銆?/span>
闃呰浠g爜鐨勬椂鍊欙紝鐪嬪埌浜哻lassmethod銆俿taticmethod鐢ㄧ殑鎸哄錛宑lassmethod涓鐩存病鐢ㄨ繃錛屾劅瑙夋湁浜涜糠鎯戙?br />Google浜嗕竴綃囨枃绔狅紝璁茬殑鎸烘竻妤氾細class Base(object):
name = "Base"
@classmethod
def foo(cls):
print cls.name
@staticmethod
def foo_static1():
print Base.name
@staticmethod
def foo_static2(cls):
print cls.name
@staticmethod
def foo_static3(cls):
# if not isinstance(cls, type):
if isinstance(cls, Base):
cls = cls.__class__
print cls.name
class A(Base):
name = "A"
def __init__(self):
self.name = "I am '%s'" % A.name
class B(Base):
name = "B"
def __init__(self):
self.name = "I am '%s'" % B.name
@classmethod
def foo(cls):
print "<%s>" % cls.name
@staticmethod
def foo_static1():
print "<%s>" % Base.name
def testA():
obj = A()
obj.foo()
obj.foo_static1()
obj.foo_static2(A)
obj.foo_static2(obj)
obj.foo_static3(A)
obj.foo_static3(obj)
A.foo()
A.foo_static1()
def testB():
obj = B()
obj.foo()
obj.foo_static1()
def run_test(func, *args, **kwargs):
print "======================="
func(*args, **kwargs)
print ""
if __name__ == '__main__':
run_test(testA)
run_test(testB)
]]>
#include <stdio.h>
#include <string.h>
#include <sys/types.h>
#include <regex.h>
int main(int argc, char** argv)

{
char * pattern, *mstr;
int x, z, lno = 0, cflags = REG_EXTENDED;
char ebuf[128], lbuf[256], format[32];
regex_t reg;
regmatch_t pm[10];
const size_t nmatch = 10;
pattern = argv[1];
z = regcomp(®, pattern, cflags);
if (z != 0)
{
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, "%s: pattern '%s' \n",ebuf, pattern);
regfree(®);
return 1;
}
while(fgets(lbuf, sizeof(lbuf), stdin))
{
++lno;
if ((z = strlen(lbuf)) > 0 && lbuf[z-1]== '\n') lbuf[z - 1] = 0;
z = regexec(®, lbuf, nmatch, pm, 0);
if (z == REG_NOMATCH)
{
printf("not match\n");
continue;
}
else if (z != 0)
{
regerror(z, ®, ebuf, sizeof(ebuf));
fprintf(stderr, "%s: regcom('%s')\n",
ebuf, lbuf);
return 2;
}
if (pm[0].rm_so!=-1)
printf("%04d: %s\n", lno, lbuf);
for (x = 0; x < nmatch && pm[x].rm_so != -1; ++ x)
{
mstr = strndup(lbuf + pm[x].rm_so, pm[x].rm_eo-pm[x].rm_so);
printf(" $%d: %s\n", x, mstr);
free(mstr);
}
fflush(stdout);
}
regfree(®);
return 0;
}
./testreg "[\[][^\[\]]*[\]][#|$] "
[root@localhost bin]#
not match
[a\]#
0005: [a\]#
$0: [a\]#
./testreg "[\[]+"
a
not match
[
0002: [
$0: [
[root@localhost bin]#
0003: [root@localhost bin]#
$0: [
./testreg "[\]]+"
]
not match
\]
0002: \]
$0: \]
-----------------
./testreg "[]]+"
]]
0001: ]]
$0: ]]
./testreg "[^\[]]+" //瀵筟杞箟錛屼笉瀵筣杞箟
[abc]
0001: [abc]
$0: c]
./testreg "[^\[\]]+" //瀵筟鍜宂杞箟
[abc]
0001: [abc]
$0: c]
./testreg "[^]\[]+" //瀵筟杞箟錛屼笉瀵筣杞箟錛屼笖鎶奭鏀懼湪^鍚庝嬌]涓嶄笌鍓嶉潰鐨刐鍖歸厤
[abc]
0001: [abc]
$0: abc
]]>
]]>
]]>鍤e紶鐨勯潰璇曡?/span>
闈㈣瘯鏃惰鍏堝噯澶囦竴涓?/span>
婕備寒鐨勪唬鐮?/span>
]]>
鏂囩珷鏉ユ簮:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169030.aspx
]]>
鏂囩珷鏉ユ簮:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169102.aspx
]]>
鏂囩珷鏉ユ簮:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4167919.aspx
]]>
鏂囩珷鏉ユ簮:http://blog.csdn.net/volant_hoo/archive/2009/05/11/4169081.aspx
]]>