gpt4 book ai didi

regex - 如何在URL的isDefined()或structKeyExists()中使用通配符?

转载 作者:行者123 更新时间:2023-12-02 06:40:22 25 4
gpt4 key购买 nike

我正在使用ColdFusion 8.0.1。

我在应用程序文件中写了一些代码来查看URL。如果传递了某种类型的属性,则我不想更新SESSION结构中的属性。

基本上,如果访问者访问与我们的注册过程有关的任何页面,我们就不想更新SESSION.UserInfo.ReturnToURL变量。对于他们访问的每个其他页面,我们要更新该变量。

与注册过程有关的所有页面的URL中都将包含“myiq.reg”。如果是这种情况,我将使用下面的代码。

// DETERMINE WHETHER TO UPDATE RETURNTOURL
if (not structKeyExists(URL, "myiq.reg")) {
URLString = "http://" & CGI.SERVER_NAME & CGI.SCRIPT_NAME & CGI.QUERY_STRING;
SESSION.UserInfo.ReturnToURL = URLString;
}

但这不是那么简单。我的员工希望能够传递其他类似的属性,例如:
myiq.reg_confirm
myiq.reg_password
myiq.reg_save

我需要能够对它们进行软编码,以使其可以在将来创建的任何注册页面上使用。基本上,我需要这样的东西:
if (not structKeyExists(URL, "myiq.reg*")) {
SESSION.UserInfo.ReturnToURL = URLString;
}

注意“myiq.reg”之后的WILDCARD。我已经尝试过了,但是没有用。

如何编写此代码,以便忽略任何以“myiq.reg”开头的URL属性进行访问的页面?

最佳答案

您可以获取URL范围的structKeyList(),然后在其中进行正则表达式查找。就像是:

reFindNoCase("(?:^|,)myiq\.reg", structKeyList(URL))

(仅经过表面测试)

如果您想更准确地匹配实际的变量名模式,而不是仅在字符串中出现myiq.reg,则可以对regex进行一些改进。

关于regex - 如何在URL的isDefined()或structKeyExists()中使用通配符?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9213916/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com