【发布时间】:2019-12-01 17:45:40
【问题描述】:
尝试根据日期之前的字符串归档单个文件。文件命名如下; 都以 DHT.BENT.RSEC.ETNS* 开头,然后是标识符 .DHT 或 *BNT,然后是 timestamp.TXT
DHT.BENT.RSEC.ETNS.DHT.2019-07-22-210004.TXT
DHT.BENT.RSEC.ETNS.BNT.2019-04-23-190824.TXT
尝试如下
/(?:DHT\.BENT\.RSEC\.ETNS\.DHT)(?:.*).TXT/
/(?:DHT\.BENT\.RSEC\.ETNS\.BNT)(?:.*).TXT/
我希望每个人都能在全字符串匹配时给我单独的代码行
DHT.BENT.RSEC.ETNS.DHT.2019-07-22-210004.TXT
DHT.BENT.RSEC.ETNS.BNT.2019-04-23-190824.TXT
。需要帮助来改进正则表达式
【问题讨论】:
-
我假设您想要捕获第二组,但您使用
?:将其设置为非捕获。您希望第二组为(.*)。 -
请提供一个显示问题的最小可运行示例
-
我不明白你想让你的正则表达式为你做什么。您想准确匹配和/或提取字符串的哪一部分?
-
正则表达式都有效。问题出在程序的其他地方。
-
我正在尝试匹配 DHT.BENT.RSEC.ETNS.DHT.2019-07-22-210004.TXT 完全匹配但必须有中间 (DNT) 或应该是第一个匹配此特定字符串并返回完整匹配的组 (DHT.BENT.RSEC.ETNS.DHT.2019-07-22-210004.TXT