我是编程新手,F# 是我的第一个 .NET 语言。
作为初学者的项目,我想编写一个应用程序,要求用户输入正则表达式模式,然后标记任何错误。
我已经浏览了 MSDN 上的 Regex API,但似乎没有任何方法可以自动检测正则表达式模式中的任何错误。更有经验的程序员能否与我分享他们将如何实现这一目标?
预先感谢您的帮助。
如果您需要检查正则表达式是否编译,只需使用try-with https://msdn.microsoft.com/en-us/library/dd233194.aspx堵塞。如果您需要检查正则表达式模式是否与您的输入字符串匹配,请使用IsMatch()
or .Success
。这已经足够了。
一个示例,其中的代码取自另一篇 SO 帖子,但在我替换的正则表达式模式中出现错误(http:\/\/\S+)
with (http:\/\/\S+
:
try
let testString = "http://www.bob.com http://www.b.com http://www.bob.com http://www.bill.com"
let matches input =
Regex.Matches(input, "(http:\/\/\S+")
|> Seq.cast<Match>
|> Seq.groupBy (fun m -> m.Value)
|> Seq.map (fun (value, groups) -> value, (groups |> Seq.length))
with
| :? System.Exception as ex -> printfn "Exception! %s " (ex.Message); None
有关 F# 异常引发的更多信息,请参阅here http://fsharpforfunandprofit.com/posts/exceptions/ or here http://en.wikibooks.org/wiki/F_Sharp_Programming/Exception_Handling.
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)