; 比如 这个情况: ; 1.[+ object]未经修理的The table is ~.这个桌子未修理。2.[+ situation]未改善的;[+ person]未治愈的 ; ; 我只想把1. 2. 替换成1 2 其他的保持不变 应该怎么写? var:="1.[+ object]未经修理的The table is ~.这个桌子未修理。2.[+ situation]未改善的" var := RegExReplace(var, "(\d+)\.", "$1 ") MsgBox,% var var:="1.[+ object]未经修理的The table is ~.这个桌子未修理。2.[+ situation]未改善的" var := RegExReplace(var, "(\d+)\.(\()", "$1$2 ") MsgBox,% var ; 大概这样吧【这个示例完美解决问题】===【但是我测试无效】 ; ; 另一个朋友写的 【这个也可以】 var := RegExReplace(var, "\d+\K\.", "$1$2 ") ; 这个也很好用 只是不知道这个K代表啥 ; 飞跃的解释: ; 我补充一点: \K 与 (?<=) 的区别 ; (?<=此处需要定长) ,在每个位置的左边作匹配,匹配部分不占用字符 ; 此处可变长度\K , 从每个位置的右边作匹配,匹配部分占用了字符,但是替换时不替换\K前面的 Msgbox % RegExReplace("123456", "(?<=.).") 每次匹配占1个字符,预测部分不占字符 Msgbox % RegExReplace("123456", ".\K.") 每次匹配占2个字符,但替换后1个字符
声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。
评论(0)