sorry, man , i owe you an apology.
previously, i used xbmc as dashboard, when i updated regexp in xboxmediacenter.xml, i just removed the one in e:\apps\xbmc, but forgot to update the one in c:\, and so........ hours of effort wasted.
after i figured out the reason, and updated the xboxmediacenter.xml in c:\, everything worked just fine.
and now, i kind of understand how regexp works, and write some regexp, almost all the video files can stack together under these regexp:
<videostacking>
<regexp>[ _\.-]*cd[ \.]*([0-9])*</regexp>
<regexp>[ _\.a-z0-9-]([0-9])\....$</regexp>
<regexp>\.([a-z0-9]+)-</regexp>
<regexp>\-([a-z0-9])*</regexp>
<regexp>[ _\.-]*part[ \.]*([0-9])*</regexp>
</videostacking>
and remember, <regexp>[ _\.-]*cd[ \.]*([0-9])*</regexp> should be placed at the first place, 'cauze when stacking files, system will look at these regexp in order, once the video files' name is the same as stated in the first regexp, it'll stack together, if not, then take a look at following one, but, all of these regexp seem to contradict with each other, if the first regexp suits the file name, even if it is just partly suited, then it will ignore all the other regexp, for example, if <regexp>[ _\.-]*part[ \.]*([0-9])*</regexp> is placed in the first order, then video files like "rounders.1998.dvdrip.xvid-particle.cd1.avi, rounders.1998.dvdrip.xvid-particle.cd2.avi" won't stack together because the word "-particle", part of it is the same as first regexp <regexp>[ _\.-]*part[ \.]*([0-9])*</regexp> , so the system will simply look at this regexp, and ignore all other regexp, but in this case, it is "cd1, cd2" that make it stack together, not "particle", so the video files won't stack together.
and many video files usually named like "...cd1, ...cd2....", in order to make as many video files stack together as possible, that's why the most general regexp <regexp>[ _\.-]*cd[ \.]*([0-9])*</regexp> should be placed in first order.
if you don't believe, you can try placing <regexp>[ _\.-]*cd[ \.]*([0-9])*</regexp> in the end of the videostacking code, and see if hotel rwanda "hr.cd1.dvdrip.xvid-deity.avi, hr.cd2.dvdrip.xvid-deity.avi" could stack together.
next, if you want to stack video files like :
01.avi
02.avi
03.avi
04.avi
05.avi
add the following code to the end of videostacking
<regexp>[ _\.-]*([a-z0-9])*</regexp>
( as for the previously mentioned tv series:
ep-01.rmvb
ep-02.rmvb
ep-03.rmvb
ep-04.rmvb
ep-05.rmvb
ep-06.rmvb
ep-07.rmvb
ep-08.rmvb
ep-09.rmvb
ep-10.rmvb
ep-11.rmvb
a regexp like : <regexp>\-([a-z0-9])*</regexp>
works perfectly fine. )
what's more, i found a little bug in this videostacking code, for example , if i want to stack tv seriers like:
the_x-files.9x01.avi
the_x-files.9x02.avi
the_x-files.9x03.avi
the_x-files.9x04.avi
the_x-files.9x05.avi
the_x-files.9x06.avi
the_x-files.9x07.avi
the_x-files.9x08.avi
add a regexp like this is enough:
<regexp>[ _\.a-z0-9-]([0-9])\....$</regexp>
but when stacking and playing, the system will play the_x-files.9x07.avi first, and then the_x-files.9x01.avi, 9x02.avi ...... cauze' the file name of 9x07 is capital x, and the system seems to play files with capital letter first, not according to its number regardless of the already specified case-insensitive in string, maybe this is a little bug.