帮忙修正一下
本帖最后由 惜惜2 于 2024-10-17 16:42 编辑(setq E1 "2024-10-17")
(setq E3 E1)
(if E3
(progn
(setq E3E "\\d{4}-\\d{2}-\\d{2}")
(setq E4E "\\d{4}/\\d{2}/\\d{2}")
(if (or (not (wcmatch E3 E3E))
(not (wcmatch E3 E4E)))
(setq E4 (strcat (substr E3 2 4)
"-"
(substr E3 6 2)
"-"
(substr E3 8 2)))
(setq E4 nil)))
)正常E4返回的值应该是空才对,前面判定结果应该是相等才对,但是实际运行了后面取值的代码,需求是不等才会运行取值的代码,是不是正则表达式那里有问题?
wcmatch 可以用正则吗?好像是用通配符 本帖最后由 统一网名 于 2024-10-17 20:50 编辑
[*](defun c:t6 (/ current-date format1 format2)
[*];; 获取当前日期
[*](setq current-date "2024-10-17")
[*];; 定义两种可能的日期格式
[*](setq format1 "????-??-??" )
[*](setq format2 "????/??/??" )
[*];; 判断当前日期是否符合其中一种格式
[*](if (or (wcmatch current-date format1)(wcmatch current-date format2))
[*] (princ "ok")
[*] (princ "no")
[*])
[*])
看一下是否有帮助 13605 发表于 2024-10-17 18:12
wcmatch 可以用正则吗?好像是用通配符
通配符可以感谢 统一网名 发表于 2024-10-17 19:53
[*](defun c:t6 (/ current-date format1 format2)
[*];; 获取当前日期
[*](setq current-date "20 ...
可以了,感谢,和楼上一样通配符的方法:lol
页:
[1]