关于正则问题求教
本帖最后由 daliyid 于 2013-12-6 05:22 PM 编辑分开都可以正常触发
^\s+(.*)\((.*)\)$ -----药铺伙计(Yaopu huoji)--%1=药铺伙计
当铺老板 唐楠(Tang nan)--%1=唐楠
^\s+.*」(.*)\((.*)\)$---药铺老板「杀人神医」平一指(Ping yizhi)--%1=平一指
「圣手神偷」胡桂南(Hu guinan)-----%1=胡桂南
然后合在一起 就不能正确触发了 ^(\s+(.*)|\s+.*」(.*))\((.*)\)$
有没有高人指点一下下,感谢
北大侠客行MUD,中国最好的MUD 是想用一个表达式匹配所有人物的中英文名吧 这好像是里面那个括号的问题吧。正则我也不熟。
^(\s+.*|\s+.*」.*)\((.*)\)$
这样应该就是可行的
你用两个触发来做吧。调用同一个函数即可。
或是
^(\s+(.*)\((.*)\)|\s+.*」(.*)\((.*)\))$
试试。
注意这有两个问题。
1、上面这个正则取值应该是%1,%2,%3,%4,%5。%1是全部文字。这样写函数会有些麻烦。用两个触发来做就没有问题了
2、有时人物后面会多一个空格。所以你不能直接$结尾的。应该加个/s?来保证能匹配到所有情况。
另外,正则这种晦涩的东西。我直接写不测试出错的可能高达80%。所以上面写的正则出错完全是可以理解的。yct70 还是不行 想了一晚上 没弄成功
还是 分 两个做吧
感谢楼上各位 帮忙 ^(\s+.*」|\s+.*\s)(.*)\((.*)\)$
还是白天脑子清醒点,昨天弄了一晚上 没弄出来 高手
页:
[1]