相关疑难解决方法(0)

我可以在不抛出异常的情况下测试正则表达式在C#中是否有效

我允许用户输入正则表达式以匹配IP地址,以便在相关系统中进行IP过滤.我想验证输入的正则表达式是否有效,因为很多用户会弄乱op,尽管有良好的意图.

我当然可以在try/catch中做一个Regex.IsMatch(),看看它是否会爆炸,但有没有更智能的方法呢?速度不是一个问题,我只是宁愿避免无缘无故抛出异常.

c# regex

46
推荐指数
4
解决办法
3万
查看次数

如何检查RegEx是否具有正确的语法?

我想知道在RegEx类中是否存在任何方法来检查表达式是否具有有效语法.

我不是说正则表达式匹配字符串或类似的东西,那么"IsMatch"或"Success"方法对我没有帮助.

要理解我,例如在使用RegEx.Match带有此表达式的方法时,它会抛出异常,因为表达式的语法无效:

"\\\" 
Run Code Online (Sandbox Code Playgroud)

(没有双引号)

我检查了正则表达式类方法,但我找不到任何像"tryparser".

然后检查表达式是否具有有效的语法我正在这样做:

Try
    Regex.Match(String.Empty, "\")
    Return True
Catch
    Return False
End Try
Run Code Online (Sandbox Code Playgroud)

只是我想知道我是否可以通过直接从regex类中的方法返回值或将regex类方法的结果转换为boolean 来简化代码.

更新:

我在执行时创建了RegEx,对我的外部工具没有帮助.

在此输入图像描述

.net regex vb.net

3
推荐指数
1
解决办法
158
查看次数

标签 统计

regex ×2

.net ×1

c# ×1

vb.net ×1