又是个moodle源码的,看来E-learnning最近很流行啊~~~~~¦(/[^:\.\*\"]+/)(\d+)/ (\([0-9]+%\)\ </A\ >$) ¦
==========================================================把正则大概说一下吧,1.(/[^:\.\*\"]+/) : 不以 ":" , "." , "*" , " " " 开头的任意字符组合(至少一个),后面再匹配个"/"
asf/ , sdf/ 这些可以
"sdf/ , :sdf/ , .sdf/ , *eee/ 这些不行2.(\d+)/ :任意数字组合,后面匹配"/"3.(\([0-9]+%\)\ </A\ >$) : 左括号,然后0~9数字组合,百分号,右括号,</A>并且以">"结尾 (345%) </A> , (444%) </A> 可以大概就是这些意思了,没有亲自测试,可以参考着理解,希望有帮助
==========================================================把正则大概说一下吧,1.(/[^:\.\*\"]+/) : 不以 ":" , "." , "*" , " " " 开头的任意字符组合(至少一个),后面再匹配个"/"
asf/ , sdf/ 这些可以
"sdf/ , :sdf/ , .sdf/ , *eee/ 这些不行2.(\d+)/ :任意数字组合,后面匹配"/"3.(\([0-9]+%\)\ </A\ >$) : 左括号,然后0~9数字组合,百分号,右括号,</A>并且以">"结尾 (345%) </A> , (444%) </A> 可以大概就是这些意思了,没有亲自测试,可以参考着理解,希望有帮助
还有没有更详细分析的?
上面那个回调函数以及它的调用语句其作用是将某个语句段替换掉,改成一个中文名字,在我的情况里,这个字符串替换于类似于“d:/moodledata/2/moddata/assignment/52/”这样的语句为“张三”。现在的问题是替换不彻底,替换后成了“d:\张三”,所以我怀疑是这个正则表达式有问题,如果是这样的话,我还想知道怎样写这个表达式,才能达到彻底替换。