UEstudio正则表达式 查找1位的数字,在数字前面插入1个空格
UEstudio正则表达式查找1位的数字,在数字前面插入1个空格样本文本无明细规律,例如:B7=MSELECT('2013-M1-19->B7',,,K('单位')='0...
UEstudio正则表达式 查找1位的数字,在数字前面插入1个空格
样本文本无明细规律,例如:
B7=MSELECT('2013-M1-19->B7',,,K('单位')='001');
B8=MSELECT('2013-M1-19->B7',,,K('单位')='003');
B9=MSELECT('2013-M1-19->B7',,,K('单位')='101');
B10=PTOTAL(?B6:?B9);
B11=MSELECT('2013-M1-19->B7',,,K('单位')='101');
B12=MSELECT('2013-M1-19->B7',,,K('单位')='102');
准备把格式统一下,所以准备查到只有1位的数字,在数字前面插入1个空格(超过1位的数字不处理)。替换成如下文本
B 7=MSELECT('2013-M 1-19->B 7',,,K('单位')='001');
B 8=MSELECT('2013-M 1-19->B 7',,,K('单位')='003');
B 9=MSELECT('2013-M 1-19->B 7',,,K('单位')='101');
B10=PTOTAL(?B 6:?B 9);
B11=MSELECT('2013-M 1-19->B 7',,,K('单位')='101');
B12=MSELECT('2013-M 1-19->B 7',,,K('单位')='102');
UEstudio用perl的正则 (?<!\d)\d(?!\d) 可以查到,但是要替换时,好像不支持perl的分组($1 $2)
用unix的正则来替换,要怎么写?
=================================
把(\D)(\d\D)替换成\1 \2是个好办法
原文
E9=IF(?C9=0,0,(?B9-?C9)/ABS(?C9));
E10=IF(?C10=0,0,(?B10-?C10)/ABS(?C10));
结果
E 9=IF(?C 9=0, 0,(?B 9-?C 9)/ABS(?C 9));
E10=IF(?C10= 0,0,(?B10-?C10)/ABS(?C10));
第一句中 IF(?C 9=0, 等号后的0前面没有插入空格(没有匹配上)
但是第二句中 IF(?C10= 0, 等号后的0前面有插入空格(匹配上)
为什么两个会有这样的差别?
========================
已经验证,相同的正则语法在ultraedit和UEstudio在上确实不同,应该是软件问题 展开
样本文本无明细规律,例如:
B7=MSELECT('2013-M1-19->B7',,,K('单位')='001');
B8=MSELECT('2013-M1-19->B7',,,K('单位')='003');
B9=MSELECT('2013-M1-19->B7',,,K('单位')='101');
B10=PTOTAL(?B6:?B9);
B11=MSELECT('2013-M1-19->B7',,,K('单位')='101');
B12=MSELECT('2013-M1-19->B7',,,K('单位')='102');
准备把格式统一下,所以准备查到只有1位的数字,在数字前面插入1个空格(超过1位的数字不处理)。替换成如下文本
B 7=MSELECT('2013-M 1-19->B 7',,,K('单位')='001');
B 8=MSELECT('2013-M 1-19->B 7',,,K('单位')='003');
B 9=MSELECT('2013-M 1-19->B 7',,,K('单位')='101');
B10=PTOTAL(?B 6:?B 9);
B11=MSELECT('2013-M 1-19->B 7',,,K('单位')='101');
B12=MSELECT('2013-M 1-19->B 7',,,K('单位')='102');
UEstudio用perl的正则 (?<!\d)\d(?!\d) 可以查到,但是要替换时,好像不支持perl的分组($1 $2)
用unix的正则来替换,要怎么写?
=================================
把(\D)(\d\D)替换成\1 \2是个好办法
原文
E9=IF(?C9=0,0,(?B9-?C9)/ABS(?C9));
E10=IF(?C10=0,0,(?B10-?C10)/ABS(?C10));
结果
E 9=IF(?C 9=0, 0,(?B 9-?C 9)/ABS(?C 9));
E10=IF(?C10= 0,0,(?B10-?C10)/ABS(?C10));
第一句中 IF(?C 9=0, 等号后的0前面没有插入空格(没有匹配上)
但是第二句中 IF(?C10= 0, 等号后的0前面有插入空格(匹配上)
为什么两个会有这样的差别?
========================
已经验证,相同的正则语法在ultraedit和UEstudio在上确实不同,应该是软件问题 展开
1个回答
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询