gpt4 book ai didi

c# - 如何检查字符串是 "string"还是 RegEx?

转载 作者:行者123 更新时间:2023-11-30 19:14:05 24 4
gpt4 key购买 nike

如何检查文本框中的字符串是纯字符串还是正则表达式?

我正在逐行搜索文本文件。

通过 .Contains(Textbox.Text); 或通过 Regex(Textbox.Text) Match(currentLine)

(我知道,语法不是这样的,它只是为了演示)

现在我的程序应该自动检测 Textbox.Text 是 RegEx 形式还是普通字符串。

有什么建议吗?编写我自己的小 RexEx 来检测文本框是否包含 RegEx?

编辑:

I failed to add thad my Strings can be very simple like Foo ore 0005 I'm trying the suggested solutions right away!

最佳答案

您无法使用正则表达式检测正则表达式,因为正则表达式本身不是一种正则语言

但是,您可能做的最简单的事情就是尝试从您的文本框内容编译一个正则表达式,当它成功时您就知道它是一个正则表达式。如果它失败了,你知道它不是。

但这会将像“foo”这样的普通字符串也归类为正则表达式。根据您需要执行的操作,这可能是问题,也可能不是问题。如果它是一个搜索字符串,那么这种情况下的结果是相同的。在“foo.bar”的情况下,它们会有所不同,尽管因为它是一个有效的正则表达式,但匹配的内容与字符串本身不同。

我的建议(也在另一条评论中说明)是您只需始终启用正则表达式搜索,因为如果您在此处拆分代码路径,则完全没有区别。除了可疑的性能优势(如果有很大的好处,这不太可能产生任何影响)。

关于c# - 如何检查字符串是 "string"还是 RegEx?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1525128/

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