我想通过使用正则表达式来验证C#TextBox中的输入。预期的输入采用以下格式:
CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-C

因此,我有六个元素,每个元素五个,每个字符最后一个。

现在我的正则表达式可以匹配5到255个字符之间的任何字符:.{5,255}

我如何修改它以匹配上述格式?

最佳答案

更新:-

如果要匹配任何字符,则可以使用:-

^(?:[a-zA-Z0-9]{5}-){6}[a-zA-Z0-9]$


说明:-

(?:                // Non-capturing group
    [a-zA-Z0-9]{5} // Match any character or digit of length 5
    -              // Followed by a `-`
){6}               // Match the pattern 6 times (ABCD4-) -> 6 times
[a-zA-Z0-9]        // At the end match any character or digit.




注意:-以下正则表达式只能匹配您发布的模式:-

CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-CCCCC-C


您可以尝试以下正则表达式:-

^(?:([a-zA-Z0-9])\1{4}-){6}\1$


说明:-

(?:                // Non-capturing group
  (                // First capture group
    [a-zA-Z0-9]    // Match any character or digit, and capture in group 1
  )
  \1{4}            // Match the same character as in group 1 - 4 times
  -                // Followed by a `-`
){6}               // Match the pattern 6 times (CCCCC-) -> 6 times
\1                 // At the end match a single character.

关于c# - 正则表达式匹配重复模式,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/14004180/

10-10 22:55