gpt4 book ai didi

regex - Coldfusion 正则表达式逻辑行为异常

转载 作者:行者123 更新时间:2023-12-02 03:13:42 25 4
gpt4 key购买 nike

我从电子表格中的条目开始:

spreadsheetPic

注意不同大小的破折号.. 许可日期后的破折号更长。 Chr(8211) 如果我是正确的。

我将电子表格转换为查询:

queryPic

我得到一个单元格值和正则表达式的第一位。 (正则表达式模式似乎有点多但它有效)

//i make a new query and set one cell
querysetcell(newquery,"permitDateHeader",rereplace(cellWithPermitDate,
"^[(\W)]*(\w)*(\s)*(\w)*(\s)*(\w)*(:| -| –)+","","all"), insertRow);

但是,我仍然有以下问题:

wrongoutput

请注意正则表达式仅使用两个小破折号对构造类型起作用。

rightoutput

所以我创建了一个测试页面 .cfm(其他东西在 Controller 中运行)

number = "Permit Number:  2016-1";
date = "- Permit Date – January 13, 2016";
reformednumber = rereplace(number,"^[(\W)]*(\w)*(\s)*(\w)*(\s)*(\w)*(:| -| –)+","","all");
reformeddate = rereplace(date,"^[(\W)]*(\w)*(\s)*(\w)*(\s)*(\w)*(:| -| –)+","","all");
writeDump(reformednumber);
writeDump(reformeddate);

这就是被转储的内容:

pagedump

许可日期已成功解析。这次在 .cfm 页面上而不是在 Controller 中并将其放入查询中。这是我看到的唯一区别。相同的正则表达式。

为什么会这样?

可能的解决方案只是更改正则表达式。我只是不想获取落在\W 范围内的值,例如美元符号。

请注意,如果此无法重新创建,则它可能过于“特定于应用程序”的错误无法留在论坛上。

最佳答案

仍然不确定为什么会这样,但是对正则表达式的修改似乎已经修复了

^[(\W)]*(\w)*(\s)*(\w)*(\s)*(\w)*(\s)*(\W)?
//used(\W)? at the end rather than (:| -| –)+

关于regex - Coldfusion 正则表达式逻辑行为异常,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38384635/

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