Lozano23 [ Pretorianin ]
Wyrażenie regularne - spacja :D potrzebna pomoc.
Mam taki oto kod w C#:
string cancelledOpenBracket = "##3CEB6573-DBC0-4CBE-A053-DF9228D5B3E4##";
string cancelledCloseBracket = "##FE8C2990-B539-4E3F-AE20-C26B2797A4BB##";
msg = Regex.Replace(msg, "\\[(?!/?b|/?i|/?u|/?s|/?code|/?center|/?img|/?quote|quote=[\\s*\\d\\w\\#\\$]+|/?url|url\\=(?<http>(skype:)|([^\\]]*?)))", cancelledOpenBracket, m_options);
msg = Regex.Replace(msg, "(?<!b|i|u|s|code|center|img|quote|quote=[\\s*\\d\\w\\#\\$]+|url|url\\=(?<http>(skype:)|([^\\]]*?)))\\]", cancelledCloseBracket, m_options);
Z założenia ma on zamieniać nawiasy kwadratowe "[" i "]", które nie posiadają między sobą: b,i,u,s,center,img,quote(=),url(=).
Problem jest z "quote".
Mianowicie taki tag:
[cytuj=Blablabla]tekst[/cytuj] - działa
[cytuj= Blablabla]tekst[/cytuj] - też działa (spacja po '=')
Natomiast:
[cytuj=Blabla bla]tekst[/cytuj] - nie działa.
Ktoś może mi wyjaśnić dlaczego?
Przecież zdefiniowałem \\s ...