2014-11-14 88 views
1

我想在ColdFusion 10中使用正则表达式来查找html 源页面中的一些数据。我在我的texteditor上使用了以下正则表达式,这会导致所需的 输出。当我去尝试使用的ColdFusion它抛出一个错误Coldfusion和正则表达式

<Cfset foo = ReReplaceNoCase(foo,"name=('|"")(\w*)\1\s*value=('|"")(\w*)\3.*$","\n#$2\t$4","ALL")> <Cfset foo = ReReplaceNoCase(foo,"^[^#].*$\R","","ALL")> <Cfset foo = ReReplaceNoCase(foo,"\R\R","\n","ALL")>

+0

正则表达式标志和特殊字符区分大小写。你可能会发现你的结果用RR代替了匹配的字符串(如果这是你的意图,不需要前面的斜杠)。在这种情况下,您需要使用小写标志。 '\ r \ r'。例如,'\ w'匹配任何字母数字字符和下划线,而'\ W'匹配任何不是的字符。 – 2014-11-14 22:50:08

+2

* Re:引发错误*什么是实际的错误信息?请[编辑](http://stackoverflow.com/posts/26938706/edit)您的问题包括抛出的错误。 – Leigh 2014-11-14 23:36:51

+0

CF中的反向引用看起来像这样:'\ 1','\ 2'而不是这个:'$ 1','$ 2'。但我怀疑这个错误是由于英镑符号'#'没有被转义。 http://help.adobe.com/en_US/ColdFusion/10.0/Developing/WSc3ff6d0ea77859461172e0811cbec22c24-7e91.html – 2015-01-03 16:56:23

回答

4

你必须逃离英镑符号在ColdFusion的字符串。无论您使用的是#,请尝试使用##