; 比如 这个情况:
; 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个字符

 

声明:站内资源为整理优化好的代码上传分享与学习研究,如果是开源代码基本都会标明出处,方便大家扩展学习路径。请不要恶意搬运,破坏站长辛苦整理维护的劳动成果。本站为爱好者分享站点,所有内容不作为商业行为。如若本站上传内容侵犯了原著者的合法权益,请联系我们进行删除下架。