2015-10-06 78 views
-1

有人可以幫我解決我遇到的問題,試圖在ColdFusion中編寫這個正則表達式嗎? 我想有這將返回一個函數:如何在ColdFusion中編寫這個正則表達式?

  • 1,如果一個字符串長相酷似ITEM_NAME-複製(XXX),其中ITEM_NAME是一個變量,xxx可以是任意整數

  • 0如果不是

我試圖與複賽,但仍然沒有發現什麼我尋找

我得到的轉儲是一個空數組,而我有望獲得提前1個 感謝您的幫助

回答

1
  1. 你需要逃避()\(\)。他們是正則表達式metacharacters used for a group
  2. [:digit:]應該是[[:digit:]]。這是一個POSIX character class
  3. [[:digit:]]應該被重複一次或更多[[:digit:]]+
  4. 你不妨使用\d+匹配數字。
  5. 使用REFind()而不是REMatch()得到01

正則表達式:

^\w+-Copy\(\d+\)$ 

代碼:

<cfset nameItem = "item_name-Copy(1)"> 
<cfset result = REFind("^\w+-Copy\(\d+\)$",nameItem)> 
<cfdump var="#result#"> 

輸出:

1 
+0

臨屋很多馬里亞諾,你做了我的一天! – Jacques

+0

爲什麼你使用'[[:digit:]]'而不是'\ d'? –

+0

好問題。 OP在他刪除的評論中使用它。我用它來強調他的代碼出了什麼問題。我將編輯以備將來參考。 – Mariano