如何使用正则表达式分隔CSS元素和值?

时间:2013-11-29 12:40:42

标签: regex coldfusion

我有CSS文件,想要在表单字段中分隔元素和值,以便使用正则表达式进行编辑。

这是我的CSS:

<cfsavecontent variable="css">
    .input-block-level {
      display: block;
      width: 100%;
      min-height: 30px;
      -webkit-box-sizing: border-box;
         -moz-box-sizing: border-box;
              box-sizing: border-box;
    }

    ##map_canvas img,
    .google-maps img {
      /*edit*/max-width: none;
    }

    #sup {
      position: relative;
      font-size: 75%;
      line-height: 0;
      vertical-align: baseline;
    }
</cfsavecontent>

我尝试过以下表达式来提取开始和结束括号之间的元素。它工作正常,但我想知道如何获取由行分隔的元素和值。

<cfset reg1 = REMatch("{(?i)(.+?)}",css) />
<cfdump var="#reg1#" label="braces">

如何编写正则表达式模式来分隔元素和值?提前谢谢。

1 个答案:

答案 0 :(得分:0)

这对我来说可以分割项目和值,但不确定它是否正是您所需要的:

<cfset reg1 = REMatch("{(?i)(.+?)}",css) />

<cfloop index="item" array="#reg1#">    
    <cfset lines = listToArray(item, Chr(10))>

    <cfloop index="line" array="#lines#">
        <cfset arrLine = listToArray(line, ":")>

        <cfif arrayLen(arrLine) EQ 2>
            <cfset item = trim(arrLine[1])>
            <cfset value = trim(arrLine[2])>
            <cfoutput>
                item: #item#<br>
                value: #value#<br>
                <br>
            </cfoutput>
        </cfif>
    </cfloop>
</cfloop>