gpt4 book ai didi

带正斜杠和反斜杠的正则表达式

转载 作者:行者123 更新时间:2023-12-04 02:03:56 47 4
gpt4 key购买 nike

我正在使用正则表达式根据白名单检查字符串。此正则表达式将尝试匹配任何帐户数据。它挂断的特定字符串是日期 10/12/2015。白名单应由字母数字字符和这些特殊字符组成\/-@、空格, ., ,#.

Dim pattern As = "^(?=.*[A-Za-z0-9])[A-Za-z0-9\\/-@.,# _]*$"

这个特殊的正则表达式将在 VB.NET 中使用。提前致谢!

最佳答案

你的解决方案应该是这样的

Dim pattern As String = "^(?=.*[A-Za-z0-9])[A-Za-z0-9\\/@.,# _-]*$"
Dim s As String = "10/12/2015"
Console.WriteLine(Regex.IsMatch(s, pattern))

参见 VB.NET demo .

您根本不需要在 .NET 正则表达式模式中转义 /,要匹配 -,请将其放在字符类的末尾或开头, 或者在一个范围之后,或者一个速记字符类。

详细信息:

  • ^ - 字符串的开始
  • (?=.*[A-Za-z0-9]) - 一个积极的前瞻,需要在除换行符(LF,LF, .*)
  • [A-Za-z0-9\\/@.,# _-]* - 0 个或多个 ASCII 字母(A-Za-z),数字(0-9)或\(与\\匹配),/@, ., ,, #, 空格, _, -字符
  • $ - 字符串结尾。

为了让前瞻更有效率,使用 principle of contrast , 将 .* 替换为匹配 0+ 个非字母数字的否定字符类 [^A-Za-z0-9]*:

"^(?=[^A-Za-z0-9]*[A-Za-z0-9])[A-Za-z0-9\\/@.,# _-]*$"

关于带正斜杠和反斜杠的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45106747/

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