2010-12-03 99 views
3

考慮下面的正則表達式:複雜的正則表達式

^[:;][-^]\)$ 

列出所有這種表達完全一致,或者,如果有十多個這樣的字符串,描述它們的字符串。

+5

因爲這是家庭作業:你有什麼這麼遠嗎? – Reinderien 2010-12-03 03:22:02

+0

你的意思是你需要寫一個列出所有字符串的程序嗎?你可能想編輯你的問題(讓它聽起來像一個問題) – gideon 2010-12-03 03:22:08

回答

6

假設密切括號是虛假的,這裏是一個漂亮的解決方案:

% echo {':',';'}{'-','^'}\) 
:-) :^) ;-) ;^) 

這當然是:

% perl -le 'print for <{:,;}{-,^})>' 
:-) 
:^) 
;-) 
;^) 

是不是很酷?

然後當然,還有就是:

   #!/usr/bin/perl 
      use   5.010                      ; 
     $stdout = 124.102.109.116; 
       open 
       stdout                        ;   
       use less 
    ${"\42"}   =   "\54"                     ; 
        say 
        for 
       @224                        = 
        eval 
        join 
       /\/\/\/∖/                    => 
        map 
       {"<$_>"} 
        join 
       /\/\/\/∖/                    => 
        map 
       {"{@$_}" } 
      [qw{ | [  } ]                     => 
     [qw{ : ; % #  } ]                     => 
    [qw{ ^= * _ ~ } ]                    => 
[qw{ /v ) | o 3 I } ] 

這令人高興產生這樣的:

|:^/ |:^v |:^) |:^| |:^o |:^3 |:^I |:=/ |:=v |:=) |:=| |:=o |:=3 
|:=I |:_/ |:_v |:_) |:_| |:_o |:_3 |:_I |:~/ |:~v |:~) |:~| |:~o 
|:~3 |:~I |;^/ |;^v |;^) |;^| |;^o |;^3 |;^I |;=/ |;=v |;=) |;=| 
|;=o |;=3 |;=I |;_/ |;_v |;_) |;_| |;_o |;_3 |;_I |;~/ |;~v |;~) 
|;~| |;~o |;~3 |;~I |%^/ |%^v |%^) |%^| |%^o |%^3 |%^I |%=/ |%=v 
|%=) |%=| |%=o |%=3 |%=I |%_/ |%_v |%_) |%_| |%_o |%_3 |%_I |%~/ 
|%~v |%~) |%~| |%~o |%~3 |%~I |#^/ |#^v |#^) |#^| |#^o |#^3 |#^I 
|#=/ |#=v |#=) |#=| |#=o |#=3 |#=I |#_/ |#_v |#_) |#_| |#_o |#_3 
|#_I |#~/ |#~v |#~) |#~| |#~o |#~3 |#~I [:^/ [:^v [:^) [:^| [:^o 
[:^3 [:^I [:=/ [:=v [:=) [:=| [:=o [:=3 [:=I [:_/ [:_v [:_) [:_| 
[:_o [:_3 [:_I [:~/ [:~v [:~) [:~| [:~o [:~3 [:~I [;^/ [;^v [;^) 
[;^| [;^o [;^3 [;^I [;=/ [;=v [;=) [;=| [;=o [;=3 [;=I [;_/ [;_v 
[;_) [;_| [;_o [;_3 [;_I [;~/ [;~v [;~) [;~| [;~o [;~3 [;~I [%^/ 
[%^v [%^) [%^| [%^o [%^3 [%^I [%=/ [%=v [%=) [%=| [%=o [%=3 [%=I 
[%_/ [%_v [%_) [%_| [%_o [%_3 [%_I [%~/ [%~v [%~) [%~| [%~o [%~3 
[%~I [#^/ [#^v [#^) [#^| [#^o [#^3 [#^I [#=/ [#=v [#=) [#=| [#=o 
[#=3 [#=I [#_/ [#_v [#_) [#_| [#_o [#_3 [#_I [#~/ [#~v [#~) [#~| 
[#~o [#~3 [#~I