我正在爲ColdFusion代碼編寫解析器。我正在使用正則表達式(在C#中)來提取cfquery標記的名稱datasource屬性。用於匹配引號和單引號的正則表達式
暫時的正則表達式如下 <cfquery\s.*datasource\s*=\s*(?:'|")(.*)(?:'|")
它非常適用於像 <cfquery datasource="myDS"
或 <cfquery datasource='myDS'
串但解析字符串時,像 <cfquery datasource="#GetSourceName('myDS')#"
顯然它變得瘋狂正則表達式的一部分(?:'|「)是原因。是否有一種方法在th時只匹配單引號第一場比賽是單引號?只有在第一場比賽是雙引號時才匹配雙引號?
在此先感謝!
感謝您的鏈接。它實際上也給我的問題提供了一個有效的答案。 – Jaepetto 2011-06-16 06:37:22
沒問題。很高興我能幫上忙。 – Swift 2011-06-16 22:02:33