easy regexp by yt

import std.cstream;void
main(){char[]s=din.readLine~'/';void
f(char[] a,int p){int j,i,b=p+1,q=b;if(s[p]=='/')dout.writeLine(a);else
if(s[p]=='('){for(i=b;i<99;++i)if(')'==s[i]){q=i+1;if(s[q]=='?'){++q;f(a,q);}break;}for(i=b;i<q;++i)if(')'==s[i]||'|'==s[i]){f(a~s[b..i],q);b=i+1;}}else
if(s[p]=='['){for(j=q;j<99;++j)if(']'==s[j]){q=j+1;if(s[q]=='?'){++q;f(a,q);}for(i=p+1;i<j;++i)f(a~s[i],q);break;}}else{if(s[q]=='?'){++q;f(a,q);}f(a~s[p],q);}}f("",0);}

Note that non-ascii characters in the above source code will be escaped (such as \x9f).

download

return to the top page