我正在为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