haijie1223 发表于 2012-8-17 12:43:25

如何使正则替换中的"\"转义失效[已解决]

本帖最后由 haijie1223 于 2012-8-17 14:00 编辑

如题,代码如下:
$test="00000000000test11111111111"
$test=StringRegExpReplace($test,"test","\-\-\\-\")
ConsoleWrite($test)
得到的结果:
00000000000--\-11111111111
其中的"\"起到了转义作用,如何使得转义失效,得到结果如下:
00000000000\-\-\\-\11111111111

kevinch 发表于 2012-8-17 13:09:57

\\
多转义一次

kevinch 发表于 2012-8-17 13:11:37

$test="00000000000test11111111111"
$test=StringRegExpReplace($test,"test","\\-\\-\\\\-\\")
ConsoleWrite($test)

afan 发表于 2012-8-17 13:52:12

如果替换内容已知可自己加“\”,未知则先替换一次。$test = '00000000000test11111111111'
$sReE = '\-\-$\\-\'
$sReE1 = StringRegExpReplace($sReE, '(\\|\$|{|})', '\\$1')
$test1 = StringRegExpReplace($test, 'test', $sReE1)
MsgBox(0, $test, $test1)
页: [1]
查看完整版本: 如何使正则替换中的"\"转义失效[已解决]