2014-11-14 75 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的字符串。無論您使用的是#,請嘗試使用##