gpt4 book ai didi

regex - 永远不会被任何东西匹配的正则表达式

转载 作者:行者123 更新时间:2023-12-01 23:04:35 26 4
gpt4 key购买 nike

这听起来可能是一个愚蠢的问题,但我与我的一些开发人员同事进行了长时间的交谈,这听起来很有趣。

所以;你的想法是什么 - 正则表达式是什么样的,永远不会被任何字符串匹配!

编辑 : 为什么我要这个?嗯,首先是因为我觉得考虑这样的表达式很有趣,其次是因为我需要它来编写脚本。

在该脚本中,我将字典定义为 Dictionary<string, Regex> .如您所见,这包含一个字符串和一个表达式。

基于那本字典,我创建了所有使用这本字典作为他们应该如何工作的唯一引用的方法,其中一个将正则表达式与解析的日志文件相匹配。

如果匹配一个表达式,另一个 Dictionary<string, long>添加一个由表达式返回的值。因此,为了捕获与字典中的表达式不匹配的任何日志消息,我创建了一个名为“unknown”的新组。

向该组添加与其他任何内容都不匹配的所有内容。但是为了防止“未知”表达式与日志消息不匹配(意外),我必须创建一个绝对不会匹配的表达式,无论我给它什么字符串。

因此,对于这个“不是真正的问题”,您有我的理由......

最佳答案

这实际上很简单,尽管它取决于实现/标志*:

$a

将匹配一个字符 a在字符串结束之后。祝你好运。

警告:
这个表达式很昂贵——它会扫描整行,找到行尾 anchor ,然后才找不到 a并返回否定匹配。 (有关更多详细信息,请参阅下面的评论。)

* 最初我没有过多考虑多行模式正则表达式,其中 $也匹配行尾。事实上,它会匹配换行符之前的空字符串,所以像 a 这样的普通字符永远不会出现在 $ 之后.

关于regex - 永远不会被任何东西匹配的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1723182/

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