AutoHotkey Homepage AutoHotkey Community
Let's help each other out
 
 FAQFAQ   SearchSearch   MemberlistMemberlist   RegisterRegister 
 ProfileProfile   Log in to check your private messagesLog in to check your private messages   Log inLog in 

CONTEST - Smiley RegEx

 
Reply to topic    AutoHotkey Community Forum Index -> General Chat
View previous topic :: View next topic  
Author Message
B R



Joined: 22 Mar 2009
Posts: 27

PostPosted: Mon Nov 23, 2009 3:13 am    Post subject: CONTEST - Smiley RegEx Reply with quote

This is a contest that was ideafied on the IRC.
The challenge: write the smallest amount of RegEx that matches the most smileys on the list http://www.astro.umd.edu/~marshall/smileys.html while matching the least non-smileys. How it's graded: (characters_in_regex/(abs(matches - false_alarms))).
I'm still working on my entry.
Code to check if your RegEx works (tested very unextensively):
Code:
SetBatchLines, -1
Gui, Add, Edit, w250 Center vRegEx gUpdate, PUT YOUR REGEX HERE
Gui, Add, Text, w250 Center vMsg, RegEx Detected!!!
Gui, Add, Edit, w250 Center vTest gUpdate, PUT TEST TEXT HERE :)
Gui, Show,, Smiley RegEx Contest
Update:
Gui, Submit, NoHide
If RegExMatch(Test, RegEx)
   GuiControl, Show, Msg
Else
   GuiControl, Hide, Msg
Return
GuiClose:
ExitApp


It's manual currently, and doesn't tell you the number of smileys it detects. I'm short on time. If anyone can make it better, please do (or I'll do it when I have more time).


Last edited by B R on Tue Jan 12, 2010 1:27 am; edited 1 time in total
Back to top
View user's profile Send private message
rtcvb32



Joined: 17 Feb 2008
Posts: 289

PostPosted: Mon Nov 23, 2009 4:52 am    Post subject: Reply with quote

This looks interesting. I'm finding it more useful to use a sandbox and replace all the matches with ~found~. I think i can do 1/3rd of the list, it will take a while to get them all. Certain matches will be ignored, like 8.

http://www.autohotkey.com/forum/viewtopic.php?t=32161

EDIT: Well, from that list i extracted the smilies that they must be at least 3 characters long. (with the optional nose, it should also match 2 character smilies of the same types).

Code:

:-)
;-)
B-)
8-)
8-(
:-D
:-o
:-(
:-P
:-J
:-#
:-$
:-&
:-*
:-x
:-(=)
<:-)
|-(
:^)
:*)
:-{#}
&:-)
@:-)
#:-)
O:-)
C=:-)
;-)}<////>
:-) )-:
:-|K-
<:>==
...---...
O:O
@*&$!%
2B|^2B
(O--<
@}->--
@>+-+--
@>-->--
---<---@
@}-,-'--
@}-;--`---
@>--->----
@}--;---`----
@}`,----------
@}-^---,------
@}-->---->----
@}--)----)----
@)--`---,-----
@}--<---<-----
@}--`----,----
@}----`----^--
@}----->------
@(---`--`------
@},`-----------
@}--,--`-------
@--^--^--^--^------
(-_-)
(.)(.)
:/)
:-)))
:->
:-c
:-C
:-<
;-C
:-}
:-i
:-7
(@ @)
:-"
:-v
:-V
:-O
:-w
:-W
:-r
:-f
:-p
:-1
:-,
<:-O
:-T
:-y
:-|
:'-(
:~-(
:~(~~~
:-)....
:-)~~~
|-)
:~)
:-?
:-8
.-)
:-:
:<)
:^{
8*)
B*)
:<)=
:-=)
:-#|
::-)
8:-)
B-|
P-)
:-{
=|:-)=
7:)
:~i
:~j
:/i
:-I
:-B
):-) :-) :-)
(:-)
:_)
#:-o
(:-$
(:-&
(:-(
(:^(
(:<)
?-(
*:*
*:**
%-)
+<:-|
{0-)
(:-|K-
@%&$%&
||*(
||*)
<&&>
>< ><
<{:-)}
<:-)<<|
(:-...
<<<<(:-)
(:>-<
<I==I)
..|._
&;-P
*;-~i
>:-)
>;-)
:-)##
@:-)##
&:-]
&8-]
@@B-)
(8-}
>-)
&B-]}<////>
O!O
O^O
;|8-)
7:^]
*<|:-)
)-:|<*
[:-)
d:-)
:-\
;-\
:-s
-:-)
:%)%
:n)
:u)
'-)
(-:
(-)
(:I
{:-)
+:-)
=:-)
%-^
@:I
(><)
:-!
#-)
:-(*)
%-\
:-)8
:-)-{8
:x(
8:]
(:)-)
(-:|:-)
{:V
%+{
d :-)
q:-)
>:-|
:-/
:-{)}
<>:{(}
**:-)
[:-|
{(:-)
} (:-(
8(:-)
******:-)
^^;
>:->
>;->
[:]
B:-)
:-)-8
:-{)
:-{}
}:-(
:-[
:-E
:-F
:-)~
:-~)
:'-)
:-@
:v)
-:-(
:=)
+-:-)
`:-)
,:-)
|-I
|-O
:-Q
O-)
O :-)
:-S
:-X
<|-)
<|-(
*<:-)
(8-o
*:o)
3:]
3:[
d8=
E-:-)
:-9
%-6
<:-I
K:P
:-0
..-)
,-)
X-(
8 :-)
C=}>;*{))
:,(
|^o
:-`
:-%
:-6
):-)
):-(
)8-)
=:-(
:-q
:-e
:-t
:-]
}:-)
:-a
:-d
g-)
:-j
:-k
:-l
:-z
:-b
.-]
,-}
0-)
}:^#})
|-D
~~:-(
O |-)
8 :-I
E-:-I
>:-I
3:o[
|-P
<:I
:-8(
>:-<
8-|
8-#
8-O
;-(
;^)
:-)8<
:-}X
<:-l
>:-l
@:-}
X:-)
l^o
}:^#)
:-3
: =
P-(
:8)
:/\)
([(
&-l
l-O
l:-O
$-)
:----}
8<:-)
:#)
H-)
]-I
V^J
+-(
~:-P
L-P
!-(
!-|
!.'v
!|:-( )
#(,'%/)
#:o+=
&:-o-8-<
$$$
$$$$
%')
%*@:-(
%*}
%-(
%-(I)
%-<I>
%-{
%-|
%-}
%-~
%\v
&-|
&.(..
':-)
'~;E
(!)
($)
(,'%/)
(-.-)Zzz...
(-::-)
(-E:
(-o-)
(00)
(8-)
(8-{)}
(:  (=|
(:+)
(:-
(:-#
(:-*
(:-D
(:-I
(:-\
(:-{~
(:=)
(H f
(V)=|
(X0||)
(^^)y-~~~
(x)
(|-|   F
(}-8]
*!#*!^*&:-)
**-(
*-(
*-)
*8-)
*<.'v
*<8-)X
*<|:-))
*L*
+-(:-)
+<.'v
+<:-)
+<||-)
+O:-)
,.'v
-  @=
- -:-(
- -:-)
---...
---...---
-/-
-:)
-=#:-)
->-
->=:-)X
.---...
...(
/8^{~
/:-|
/;-)
0-(
0:-)
3  :-)
3:*>
3:-o
4:-)
5:-)
6\/)
7:-)
8-*
8-O  --*
8-P
8-S
8-]
8-o
8:)
8=:-)
8_)
: )
:###)
:$)
:%)
:'(
:'O
:'}
:(=)
:+(
:+)
:-'
:-'|
:-(  )
:-( :-( :-( :-!
:-()
:-(0)
:-(>~
:-(O)
:-)   ,
:-)   .
:-)   8
:-) ... :-( ... :-) ... :-( ...
:-) :-( :-| :-?
:-) :-) :-)
:-) :-) :-) :-)
:-)!!!
:-)'
:-))
:-)*
:-)--
:-)-O
:-)==
:-)X
:-)}
:--)
:------------)
:-.)
:->X==|
:-G-
:-M
:-O>-o
:-Q~
:-R
:-Y
:-bill
:-d~
:-p~
:-{  -__-:
:-{~
:-| :-|
:-||
:/7)
:3-<
::=))
:<()
:<=
:<|
:= |
:=8)
:>)
:?)
:@)
:Q)
:Ui
:Uj
:V)
:X)
:^(
:^D
:^{)>
:c)
:c<
:o)
:~(
:~-)
:~/
;-?
;-D
;-|
;-}
;:-)
;^?
<*:oDX
<:-(
<@:{(>X
<|-(=
<|-)=
=):-)
=-O
=-O *   *
=-O~~~
=.'v
=0==
=8')
=8->
=:-#}
=:-H
==#==
===:[OO']>:===
=====:}
=^)
=t==
=|:-)
>%)
>-<
>->
>-^);>
>8o!...
>:)
>:*)
>:-(
>:-b
>:^(
>>-O->
>[I
>|(
>|->
?:)
@%&$%&$\&*@%$#@
@-(
@-)
@.'v
@l@
B-(8
B-D
B^)
C:#
C:-)
C=>8*)
C=}>;*{O)
C|:-=
EK(
Ic:()
L:-)
M-)
M-),:X),:-M
M.^.M
M:-)
O 8-)
O-&-<
O-(==<
O-G-<
O-S-<
O-Z-<
O>-<|=
Q:-)
R-)
[8-{)
[:-]
[:|]
\.^./
\/\/\/\,8-O
\:-)
\:^)
\o/
]:-)
]:->
^(^
^)^  ^(^
^L^
^v^v^
_:^)
_\\//
__!
__.
__/~`-'~\_/
__Q~`__
Q~`
_______
`-_-'
`^J
d :-o
d.'v
i-=<*** __.
i-=<****** o-(==<
i-=<***i
o-)
o-<:-{{{
oO:-)***
oo-
pp#
pq`#'
r:-)
y:-)
{8-}
{:-{)}
{:\/
{:^=(
{{-}}}
|-<>
|-{
|:-)
|:-O
|:-|
|:['
|~(
}(:-(
}-)
}:-<
}:~#})
~:-(
~\8-O
~~\8-O
~~c___
~~~8}
~~~~8}
~~~~:>
~~~~>
|-(
|-(=   =)
IIII8^)X
: .)
((: =)X
: =)
<+-< : )
C:\>
^_^
;_;
@_@
(_o_)
~\\ (^o^) /~/~
(o|o)
(Y)oYo(Y)
*^_^*
^_^;;;
^^;;;
|-|
:-)x
=:=|
]B=8}
`@_____
`\=o-o=/'
())=(
<0__/\__/\_
( o ) ( o )
(o)(o)
>[]I
:^X^C
(OO)
)*(
oo---oo-Bo
i-=<***
~~~c___
~M`'~
`AR~
(^o^)
(^.^)/
(;.;)/~
(>_<)
(=_=)~
{{(>_<)}}
@L@
` '
(*_*)
($_$)
(x_x)
(u_u)
(OvO)
(g_g)
#!^~/
*<o'v
|o'v
!o'v
+<#^v
,o'v
o'!
o'"
o'J
o'P
o'T
o'U
o'V
o'Y
o'\
o'r
o'v
o'w
o^v
=o'v
@o'v
do'v
~o'v
_o^v
,o^y
7=^>
/\/:/\
(Z(:^P
:-8p
IIIIII8^)X
`,`,`,`,`:|
(:-O ==>
=[8]-O
C8<]
[:=I]
(>:^F)
=|B-{|###
(8=X
(|-(
(|-|  F
*:O)
*<|:-)>
3:-)
7:^)
7:u)
:##)
:-)  8
;-p
]:-)}
]B-)
C|:-=)
(:-|
}}:-(
=:)
=:x
{:<>
>>>>>:============
(:=
:=8|
>:-3=
(:<>
:8]
.\/
#B<>
(:-) :   8-
{:-} 8   >
(:-) : ==8
:-o : ^^:
{:-} 8   X
$:-) :   8-
$:-} B   >
(8-( :  -8
(:-)
(:-) :   8===
*:-} 8   8-
[:-) 8   >
{:-( :   >
*:-} :   8-
:-( :   :~
:-) : , 8-
:-) :   8-^-
:-) :   8-...
:-\ :   8o
{:-| 8( )>
:-} : =M8
>:-( 8   >
{:-) 8   >   <
{:-) 8   >d-:
@O=E<=
B-)-[<
O>--<
o>8<|=
oO:)&
*-=|8-D
#:o\:o/:o\:o/:o||
>[:^)
[]:-{o
<*(:-?
::-b|d-::
(P-|
X^o
K%*}
{-)
(:-)>+
:-...
(:-)}
(D:-]
*!#*!^*&~ >:-(
*(H-)
*8=(:
.-(
._)
G-(
8-{)
8===>
: (
:-( )
:-(=
:-) :-( :-) :-(
:-)>-o
:-)K-
>:-@
:-@%$#
:-G-~
:-O>-[o]
:-P*
>:-t
>;-('
%-(
={:-)]
=:-#(
(:-H
==:%(==
=>B=)
>:w)
?:-)
C:H
I8${}
K:-)
R-(
@@@@@@:-)
~(:-)
:-.
~:o
~:@
:-C===8
:-)  (-: +  :-o o-: + :-Pd-:
=-)
:-o zz z z Z  Z
:^U
:^Y
:^r
:^y
:^W
:^"
:-[]
:-[#]
C|:-)
:-)=
|-Q
!8-)
B-]
K-[
=^-^=
[:~~~~>)#####
[:~~~~>o#####
|:/
:-+
:-*|
:-=(
8-(:-}
:-h
:-)B
(*):
*8-I
*X-I
=(:-)
:::-)
._/
:-)I
8-)*---
{{:-)
}}:-)
@:-\
___m_oo_m___
___m_OO_m___
___m_+o+_m___
^^m^^oo^^m^^^
__mmmm_oo_mmmm__
__\/_oo_\/__
____V@_____
__m_(-O-)_m__
__m_.(%)._m__
______,________
_____,P________
___,,,,,,,,,,,,,,,,,,___
___,,,,,,,,,,,,,,,,,P,___
____________
__m__(((..)__m__
___m_--_m___
__m____m___
___m_O_m___
___m_@^@_m___
_m_oo_m_m_oo_m_
_m_oo_mm_oo_m_
--m--xx--m--
__m_oo_?__
__m_oo__
<B-v
@&o/
~~:I
{|^x~
*!#^!*:@)
<|*}
OOOOX-~(
+-::(@)
[0-\
<,-?
<&*c
>&-r
<8-*
(Bo/
{:0
}::-?
B:*/
*^O
OOOO-{I
<:@0
<8-~)
>|*b
@0-(
(:-~I
(B:o#
*.-)
~~0{
<:-}
OOOOBc~
OOOO:@[
(8*<
O 8)
<;-{(
*!#^!*|o#
<0*c
~~:-w
+-8-(
<:-@  8-
[B-~[
*!#^!*,-{\
<:-)  >-
>8-<
::-{}
+-B:p
}0*O
+-:-/
@::-x
3:)
*!#^!*:@[
@,^V
:*(@)
<.(@)
<8-{D
|-~b
*!#^!*|oO
@8[
<:)
<&-I
<B:-/~
(Bow
[8*|
<|-|
@:-v
<B-~D
<8*p
<8-{*
<8-{I
8:-T
*<:{
@:*&
+-X-(
}0)
@.-(@)
@B-O~
*!#^!*:-)
<B:^b
<:-@
<0-)
{B-\
*:-{Q
OOOO:@<
<8r
{|oX
<8^)
<:r
<;-Q
*!#^!*0-v~
/\!/\
/\*/\
]=8)
*:|)
@;^[)
*<(;')
/:-)
@@@@@@@@:)
[8-]
===:-D
{:-D
+_+
o_o
'o`
`o'
`_'
'_`
"._."
~v~
~_~
^v^
~!~
~V~
^V^
"v"
"V"
~u~
~=~
^=^
~U~
~n~
~O~
~o~
~x~
><FISH>
>-",",","-)D>
__/\o_
/\o/\
/\_/\
^+^
\,/
/'\
/~'v'~\
(~v~)
=^.^=
-,-
-.-
(^_^)
~=o  oOo  oOo  o@=<
ooo  O\O  ooo
ooo  *\*  ooo
__m_(OuO)_m__
--ooo-------ooo--
c=:
C===:
c=.
c=;
c=//=:
c=#=:
c=::
|I|
|.|
c=3
c=B
(y)
(8x)
{y}
[y]
((Y))
(((Y)))
(..(Y)..)
(x(Y))
(x)
=r)
=o)
(==)
[-:-)
(o:-)
{ :-)
&:-)>
{8->
{8-*
{8-)
=O)
>>>>X-O>>>>
///:-)
<:3 )~~~~
<:3
:I)
(^-^)
<^O^>
(@_@)
(o_o)
m(_ _)m
O_O
^_-
^_~
\ ^_^ /
\(^o^\)(/^.^)/
(*^_^*)
/.#(
:-)  >=>
vH)
v##)
v+)____,
v-|
*<|<|<|=
*%)
*8D
______2_2222_________
_________@@__________
_________0-n_________________
__________p^o_________
<+|:')
<+|:'@===
/:-=(
(=(:->*
((:- =)X
: - =
(-|---( : - )
[ : ]
\|://
]:)|--<
*|:^)(.)(...)
:-)  -:
:-) 8  -
:-| 8( )-
:-(   :-
:-)   -8
;-)  o===8
:-\  8o
;-)   ===8
:-)  -^-:
:-)  :-...
:-}  -oo-:
:-o  ^^^^:
:-( :  -
:-0===8
>]}
87)
~87(
%87)
87D
87P O>w
87P`` O>w
<:-EXB
:p :q :d :b :D
|^)
(oj
q;|
x:<>
#/\/:)
}:8
~(:)
<|)
#(:
:)>
<(:
:)))
:-)<////>
<\\\\>(-:
>-COD
___(member '(A B C D 1 (A B)) A)___
*<|B-3D>---|E   Santa Claus (?)
=B-)
=B-(
)-:
o:-)
[*>-]
o>-<|=
>:-*
@=)
@@@:)
@:O
-(:-)
|^j
/O\
/oo\
.^,
:-L
=-o
<=-O
=-<>
)|-[
(]:-)
$->
|-o
:-|,
%+\
|-.zzzzzzzzzz
(c:
(c:)
>^..^<
_.///
<-)
===========:::?
=<:o)
{=:{)
==== >
(]====[)
====[]
.,*~`~*,..,*~`~*,..@
. . . @
o-(:-)
|=====(MHV)=====|
>P-(
<(|-B
0))__)>
^^^^^U^^^U^=___
8//=/\-,
8//=\/-'
/\^.^/\
@:-7
5:-7
&:-?
_\|/_
~Y~ ^Y^ `Y'
_/^\/^\_
_/^\/^\__`Y'_~Y~_iii.._\|/_..iii_~Y~_`Y'__/^\/^\_
_/^\/^\`Y'~Y~iii.._\|/_..iii~Y~`Y'/^\/^\_
_/\,
):8
|-o|
|o|
(o)
T_,---
(-|-)
</-o
v-o
I-O
(.)_(.)
:-)/
:-)\
:-)/ >-<-0
:-)/ >0<0
:-)/\/\/\/\/\/\/
:-)/\/\/\/\/\/\/>-<-0
:-)/\(-:
:-}====8
_--_
_/\_
/. .\
-|-------
-------|-
__~~~~~~__
(_|_)
(:>
',:@ )
}"{
< > <
hTd
:O)
:o)_~~
:OXO:
3=8
=:-)=
;-']
[(:-)](:-(
=]:-)=
:' (
====|:-)=
------(:-)
#-|
:-<)
..-]
:-)...
:-*)
B-)**
B-C==<
ooP<
HHooHHHooHH-oob
(\):-)
O=8-)
O:)
]:>
}:>
=:-()
[:-|]
(:\/
:-)===
:-} -oo-:
;-) ===8
__m_oooo_m__
(~)3
7:)+)3
\_/
:)_______O
=8-O
==|:-)
>:}
}:K
}:(
S:>B
SB-)
d:)
://
O??
[O]
{O}
}:->
@@@@@@@@@@:)
&:;
==:<
O-|-<
>B-{
@:o
,[]=
O^=|
*;-o
}8^)
#8()
o()=
}B-D
=)---
-|----
o=|=====>
o==|======-
====K-------
==)----------
>;<
>Q<
>[]<
];[
=;=
+;+
o;o
><;
*;*
_._
^;^
Y;Y
};{
***
`@;;;;;;;;;;;
,*'
-|---
--=<>
-----
---------
===...===
-|===-
-|====-
-|=====-
---|===
----)====
.--^--.
.---^---.
>>---->
-==|)-
---->
----##
----*
==...*
----][
--==8
---v
--------{}
------>
==-----------
[*]
====**:.
[#]
---9
[0]
.....+
%^)
%-)
]:(
<)OO__
__(2,C>
<:3 )--
----{,_,">
<",_,}-._
=8-@
|-X
=:~)
-):
('v')
\`v'/
<~_~>
<-_->
<-.->
<-.~>
[^_^]
<^_^>
(^.^)
(^v^)
(^|^)
---(8:>
--(_~:>
<:~_)--
B}:3
[:)
#:)
X:)
H:)
/:>
(:->)
@:)
D-)
<-:p
{:)
(:0)
(:=FE)
[:>)
(:>}
(%_%)
(`.')
(-oo-)
(o_)~
(-y-)
~{+.+}~
(*_*}
( 8 )
(@g@)
(^.`')
{a_6}
:-)>-
(^y^)
(-@-)
(@u@)
(^=^)
(^#^)
(^*^)
('n`)
("_")
('.`)
(`o')
C=>:*'))
(ojo)
(oLo)
(@.@)
(*,*)
(^>&)
(?:?)
]^>^[
(-_o)
(#.#)
[<(=)>]
[<O>]
[ |*| ]
[|*|]
[*  ]
[-+---]
[+--]
[--+--]
[-+-]
[ | | ]
[| |]
[=====]
[===]
[  o  ]
[ o ]
[>====]
[>==]
[-----]
[---]
[> <]
[  +  ]
[ + ]
[>----]
[>--]
[->|<-]
[>|<]
[  *  ]
[ * ]
--.
./\.   
o   
.oooO
Oooo.
.ooo0
0ooo.
<@_@>
<x_x>
<$_$>
<*_*>
<u_u>
<+_+>
<g_g>
>>----->
<'___)~ 
O//////])==============================
*~'`^`'~*-,._.,-*~'`^`'~*-,._.,-*~'`^`'~* 
=\\\\\\\(============================-
||||||[::]|||||||||||||
__/\o_
__/\o_ o   
|==|iiii|>-----
c[]
|==[)XXXX>---
<(O)>
/\_i\o
///\oo/\\\
<')))))><
oxx)=----------
<:~__)-
@(_)~~~
__@/
{>:|
::--))
X-O
8//=/\-.
(#)---==
,---'---'---'---=@===
,=;=;=;=;=;=;=O~
=8>-()<
(:O:)
'Oqqqqqqqqqqqqo-
[{-_-}] ZZZzz zz z...
:<3o~
^..^__)~
&8)
::::::========------= ( )
-<>--=|=---^-'-`~'--+--8---#--/\--/o_----\0/----'`._,'`._,'-
--=\=---=\=---
3#`
-=:\:=-
[:-)I
>8=[..
>8=[~
==(:o3)
{:^>)
:)3
:{}
8{0}
{{{ : }
:)\[-8
1-)
1-(
2-)
2-(
3-)
3-(
4-)
4-(
5-)
5-(
6-)
6-(
7-)
7-(
9-)
9-(
69-)
(^)_(^)
- -- --- === --- -- -
[-:
<-|
}~;
<^:
{-%
]:)
^_+
+_^
(XXXXX];;;;;;;;;;>
/*^_^*\
'ommmmmmmmmmmmmmmmmmmmmmmo
oOoOoOoO_OoOoOoOo
[b-] <(RESISTANCE IS FUTILE)
(_!_)
(__!__)
(_._)
(_^_)
(_^^_)
(_*_)
(_!__)
{_!_}
(_O_)
(_$_)
(_/_)
(_~_)
(_x_)
(_X_)
(_#_)
(_##_)
(_zzz_)
(_oo_)
(_o^o_)   
(_o^^o_)
(_13_)
(_Y_)
(_?_)   
(88888:-)
|#|[:](|)
^_^
(@@)
m(_)m
@|@
d:-p
V(8-|
(|:-#
_(D)
(O)-<-<
~:-o
(: )t
C):-O
<>:-)
X-#
Q=:-)
*:-))
<*:oDX
::(:-)
C):-)
c|:-O
~(O)|
(O)|
:-L]
)X->
=|:-)X
::--((
((cc--
]:-]
~(:-|
|<:-)
<|##
<:<)}
(##]
[8-F
<*:-)
(#-[
>X#-[
*(:-|
MP(:-[
o(:-)
(B-I=
@*~
oX)
+(:-|
@-D
=[O-)]
E:-)
:--]
*#*!^*&:-)
O-(
(B^|
=(#-I
C):-|*
:)%
$(:-|
(:-)"
_(:-|
|-(:-|
$:-$
(:=<
<:|-|)<
S:-)
:-)J
-=*:-)
:->-<
(D)
<:-D
:-)(-:
)-::-(
:-|:-|
o>8<(=
%~v
,`:-C
,':-)
;-S
I-8)~V-|!
~8-|
!:-|
\%*}
=|:-)~D
@:]
_:-)
-(8-:):
:^$
>>:-1
*):-)
*):||
H=D
3:o]
>:-o
:=|
3:-]
:@|
3:o
><:>==
(:[
=:7)~~
=;7)~~
=:7(~~
=:7>~~
>;7)~~
~~(*:=
=%7)~~
=87)~~
O=:--~~
=^..^=
/\oo/\
[:)
:{)
:)=
:))
xd:)
:)~
:')
>:>
:)8-
(: )
G:-)
*/:-)
*\:-)
c):-)
@}:-)
(|:-)
o<:-)
<|:-)
{|:-)
:-)o-
:-)x===>
:-)8>
:-)x>
:-)8---
:-)o->
(: (=|
B-)[<
(:-) : 8-
(:-) : -8
*:-} 8 *
*:-} 8 O
(:-[ : 8-
(:/] > 8-
B-o
(8-( : -8
*:-} 8 8-
{8:||
;-)o===8
:-\ 8o
:-o ^^^^:
:-{ -__-:
:-) <
$:-} 8 *
$:-) : 8-
*:-} : 8-
[:-) : *
(:-) ?
:-) >
:-( :-
:-) -8
:-) -:
:-) -^-:
:-):-*8(-:
:-) :-...
8-O --*
>:-( 8 \*>-<
@:-X@
<=8:-)
:-)3
:-)-}8
;-)-8
:-)O
:-{8
:-O=
>8-0
:-)|
|-[#]
|[*]
:::)
:-D*
:*D
;>)
:,-(
:~(~~
3-O
I-)
%-(|)
:'-D
:,-D
:-):-):-)
]:-} =]]]]>
=|:=)
*<:-)>
o-<:-}}}
*<(:-)
o-(:-{o{{{{
o<:-}}
=:o]
(*): I
(O-)
:-[x>
:g)
[:-|I
}:-{|
:=(
:-=(
:-) ---
(:-) : 8===
:-) ===8
(8 )
?8-o
:-((
C)B-)
}B-i
:-) 8
+<(:-)
@:-()
|:]
c)P-(
:8-1
3 :-)
****:-)
Q:-o
(8<|
=)||)
8===8
>----(^_^)----<
(|)
~===[]
--------8<----m-oo--m---------
_________8______________
X-)
>{|>
@_0
0_@
@_O
O_@
(_<>_)
(_^?_)
(_@_)
(_+_)
(1+1=2)
(2+2=3)
`o._.o'
\-(o)-(o)-/
.-=-.
.-=o=-.
.-~-.-~-.-~
/)/)/)/)/)/)
c^o-o^
|-o-|
`'~,.,~'`'~,.,~'`'~,.,~'`'~,.,~'
|><|
^*_*^
//O\\
'==xx\0
'==>x\9
'-=,o
.....`=o=^o>  <o^=o'.....
.......`o=^o>
@[O],[O]
@(o),(o)
O==I======>
xxx-------->
..'...-=...,.o......`o=^o>
--~~~=:>[XXXXXXXXX]>
Y-Y^y^-/|\--Y^y^yY
``'//^\=Z  -=O
___/<^>\___
& &  >^\\\<|
~^~^~'====>`~^~^~^~^~
(<>..<>)
_."._."._."._."._."._."._
<'><
><`>
db db db
-<=+
[`.`.`.`]
<<>><<>><<>><<>><<>>
>< >< >< >< >< >< ><
<:>:<:>:<:>:<:>:<:>:<:>:
|/|\|/|\|/|\|/|\|
)(*)(*)(*)(*)(*)(*)(*)(
\__o- \__o- \__o-  \__o-
>(((((*.
/^(o.o)^\
--=============)@@@@@@-o
[-oo-]
3:-)
*<:O)
*<( :-)}}}}
(8)
>:O)~
[-o-]
<-o->
{-o-}
>::<
<-E
<Q)
<[=][
(*)--(*)
::E--=
<<<|->[
C(((((cc-
=[<={[
<-E=->
,,,^._.^,,,
^?-)
:-=|
(:-))-|-<
X=(;-))-|8-<=
0=]:-)
= :>
o_06
<><
@(^_^)@
8===8<0>8===8
^.~
n.n
^_^x
*(^-^)*
/*-_-*\
'-'--<3
o^o-o|_
o^o-o{
:-p*d-:
(o ) (o )
:-)`
---[ #]
---( o)
---( 8)
(O)----
E==)---
[#]|
[ ]|
_-~-_-~-*
*- # + .
%*%==
-,O,'*
/|**|`=
`:-|
:-<>
>;<*>-|--<
:)-8--<d:
<*,^^,--
~~~<*,^^,--
-+#:|-|-<  <*,^^,--
-+#:)->-< <* `vv`--
-+#  ~~XO-!-(  `<*,^^,--
8---
(0)
8---(0)
=^V
o{||?:^D
( :o)
( :o|
( :'o(
( :op
( 8o)
( :oF
( :o)-
{:B
<3~~~<3~~~<3
o^~^o
=^~^=
^~^
:oj
<^/O\~
;o)
*<|:o)X
:)~>-8-(:
@%<})
}87(=
:-) (-:
-Z-O-O-M-> |=====>
*.| /
*.|...
O<---
O+O=
$$$
<:3)~~~~~
) ; (
>^ -.- ^<
:)~~(:
{:)>~~
['j']
['.']
['-']
())CRAYOLA()>
(__TNT__)~
~~~~\0/~~~~
(>'.'<)
[ ((*) ]
(./\.)
( 8^(l)
@@@@@@@= )
( o Y o )
}8}! >
80)
':/
>:D
|-/
';/
~_^
(_8^(|)
| \|/ |
<============))(((((((o)))))))((============>
:o(
{=*}
( ((x)(x)) )
{{{{{>-o
(c8)
8 )
{*}
(---->
<*-)
<%-)
))))8>o
<|<|=
<XXXXXXXXX#######
=-))
=-D
=-}
=-)***
=-P****
AlA
( + )( + )
(*)(*)
(@)(@)
{ O }{ O }
(oYo)
( ^ )( ^ )
< o < o
(/)(o)
(%)(o)
(^o)(o)
(o)(O)
(Q)(O)
(p)(p)
\o/\o/
(  -  )(  -  )
|o||o|
($)($)
[::( )::]
[  ]=====================D
=0)
=0P
=0x
@...@
( o )( o )
{____Y____}
:-0_
(______(_____________()~~~~~~~~~
(-: :-)
:)->()<]:
$(:>(
(:>)$$$$$$$$$$$
=o=
_A_
oI--
o-O-o
.n.
,:-|
--|--
x_x
/~~;.;~~\
)-)-)-)-)-)-)(:-)
/8-(
`\o/`
~~`\o/`~~
_\M/_
@(~0~)@
~.~
__m^.^m__
UUIUU
{8^{l}
(_))===D~~
@(*o*)@
..|..  (>_<)  ..|..
@:^)
}:|
**=
@:-[---
(>@
@<)
<"}}}><\
=)(=
9_9
~(8-)=
}:-8  ~(
>')|||||||||||<<
8>)
c-------7
ixxxxi
c-oo
o--0--o
|  \!/  |
|  \*/  |
,l,,
X_x
O_o


I also have a partially working regex for it, which needs work but is a good start. It will take a while yet before it is anywhere near complete. matches 10-15% i think.

Basic order: Special smilies, Roses, then normal smilies. Starting with hair/hats, eyes, optional crying & Nose, then trailing ties, drool, ect. Since I'm using a one line sandbox documentation isn't there.
Code:

(\.\.\.---\.\.\.|O!O|<I==I\)|\(:-\.\.\.|@\*&\$!%|@%&\$%&|\|\|\*[\(\)]|<&&>|><|2B\|\^2B|\(O--<|(@[\}\(]?[-<>\+,'`;^\)]{3,}|[-<]{5,}@)|(?:\(\.\)){2}|\([-@][_ ][-@]\)|([<>&#O78\(\)\*\{\[]|C=|=\||\+<|<\{|<<<<\(|@{1,2}|\)-)?[<>%#:;'BP0O8\|\.\?\{\(][~']?[-=\*^/_]?[\{\}\(\)a-zA-Z#$&\\\*\|@<>178,^"!/?:\[\]](=\)|#[#\}]|\}<////>|K-|==?| \)-:|\)[\)=]?|~{3}|\.{4}|<<\||-<)?)
Back to top
View user's profile Send private message Yahoo Messenger
B R



Joined: 22 Mar 2009
Posts: 27

PostPosted: Thu Nov 26, 2009 9:52 pm    Post subject: Reply with quote

Thanks for the RegEx sandbox link and the (almost complete) extracted smiley list!!!

Also, if anyone has an improvement to the formula (personally, I like it, but it has a glitch if it matches the same number of smileys as it does false positives...), I just thought it up and didn't try to see if it could be better.

I'll be making an automatic grader for use and I'll post when it's done (limited access to computers with more than an eighth GB of RAM).

Bye!
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    AutoHotkey Community Forum Index -> General Chat All times are GMT
Page 1 of 1

 
Jump to:  
You can post new topics in this forum
You can reply to topics in this forum


Powered by phpBB © 2001, 2005 phpBB Group