如何在ColdFusion中编写这个正则表达式?

时间:2015-10-06 09:24:08

标签: regex coldfusion

有人可以帮我解决我遇到的问题试图在ColdFusion中编写这个正则表达式吗? 我希望有一个可以返回的功能:

  • 1如果字符串看起来与item_name-Copy(xxx)完全相同,其中item_name是变量,xxx可以是任何整数

  • 0如果不是

我尝试过复赛,但仍然没有找到我正在寻找的东西

我在转储中获得的是一个空数组,而我期望获得1 在此先感谢您的帮助

1 个答案:

答案 0 :(得分:1)

  1. 您需要将()转为\(\)。他们是正则表达式metacharacters used for a group
  2. [:digit:]应为[[:digit:]]。它是POSIX character class
  3. [[:digit:]]应重复一次或多次[[:digit:]]+
  4. 您也可以使用\d+来匹配数字。
  5. 使用REFind()代替REMatch()获取01作为结果。
  6. <强>正则表达式:

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

    <强>代码:

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

    <强>输出:

    1