我的任务是使用coldfusion查找大括号内的所有内容。
例如,如果字符串是这样的 - “来自{user_company}的{user_first_name} {user_last_name}的批准请求”
然后我应该能够返回{user_first_name},{user_last_name}和{user_company}。
我尝试使用reMatch和我在网上找到的一些正则表达式,但它们不起作用。
任何人都有任何想法?
P.S:我尝试了这里给出的正则表达式 - Regex to get string between curly braces "{I want what's between the curly braces}"但是返回了一个空字符串。
答案 0 :(得分:3)
这似乎对我有用:
<cfscript>
input="Approval request from {user_first_name} {user_last_name} of {user_company} {}";
pattern="{[^}]*}"; //allowing for empty brackets
pattern="{[^}]+}"; //not allowing empty brackets
matches=rematch(pattern,input);
for (i=1;i<=arraylen(matches);i++){
WriteOutput(matches[i]);
WriteOutput("<br />");
}
</cfscript>
没有代码示例,我看不出有什么问题,但这适用于CF 9.0.1,希望有帮助