【问题标题】:Regular expression with 6 characters in ASP.NETASP.NET中6个字符的正则表达式
【发布时间】:2015-04-01 07:19:55
【问题描述】:

我需要一个在 ASP.NET 中接受6 characters 和的正则表达式

  1. 在第二个位置它应该只接受 underscore (_)
  2. 在第三位它应该接受underscore (_)hash (#)
  3. 在第四位它应该只接受hash (#)

注意:在正则表达式中,用户只能在任何位置输入:NumberAlphabetsStar (*),而不是上述位置。

谁能帮我解决这个问题?

喜欢

  1. a__cde
  2. ab##cd
  3. a_#cde
  4. ******
  5. abcdef
  6. 123456

【问题讨论】:

  • 这个问题与this one非常相似。

标签: regex


【解决方案1】:

试试下面的表达式:

(?i)^(?=^(?:[a-z0-9*]*(?:#{1,2}|_{1,2})[a-z0-9*]*|[a-z0-9*]*)$).{6}$

将匹配:

  • a__cde
  • ab##cd
  • ******
  • abcdef
  • 123456

不匹配:

  • a_#cde
  • a_##aa
  • A__#BC
  • _##*

【讨论】:

  • 你可以用[_#]替换(?:_|#)
  • 数字,字母,*(在任何位置),_(在 2 和 3 位置),#(在 3 和 4 位置)。注意:- _ 不会单独出现。它总是像 (a__bcd) 一样成对出现。与 # 相同。
  • @Neeraj,您将不得不更详细地解释要求。您介意用预期匹配和预期不匹配的列表更新您的问题吗?
  • 匹配项:- (a__cde),(ab##cd),(******),(abcdef),(123456)。不匹配:(a_#cde),(a_##aa),(A__#BC),(_##*) 以上四个表达式包含_和#单。
  • @Neeraj 我已经更新了答案以匹配您的预期输出。随意使用更多值对其进行测试。
猜你喜欢
  • 2015-06-03
  • 1970-01-01
  • 2014-05-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2020-09-08
相关资源
最近更新 更多