【问题标题】:Regex For Minimum Length Between Whitespace空格之间最小长度的正则表达式
【发布时间】:2012-02-04 06:59:36
【问题描述】:

我不擅长正则表达式,但我通常可以弄明白;这是我的问题:

我想检查一个字符串,看看它是否至少有 10 个字符,但我想忽略开头和结尾的空格。以下是我尝试匹配的一些示例:

s = space

|...| = match

0123456789012345678901234567890123456789
----------------------------------------
|ABCDEFGHIJ|
sss|ABCDEFGHIJ|s
ssss|123s45s567|ssss
|ABCDEFGHIJKLMNOP|ssssss

对于上面的 4 个示例,我尝试查找的正则表达式应该返回 true。第三个是我遇到的问题。我不能让它忽略边界上的空白,同时仍然计算它之间的空白。

如果这很重要,我正在使用 C#4.0。我必须使用正则表达式,我不能执行 string.Trim() 之类的操作或任何类似的操作。

【问题讨论】:

    标签: c# regex


    【解决方案1】:

    ^\s*[^\s].{8,}[^\s]\s*$ 做你想做的事。

    可选空格,后跟一个非空格字符,后跟至少八个其他字符,然后是非空格,然后是可选空格。

    关键是确保内部 8+ 个字符(当然还有 8 + 1 + 1 = ...)的两端都有非空白。

    【讨论】:

    • 非常感谢!我不得不拿出第二个*,但除了完美之外! ^\s*[^\s].{8,}[^\s]\s*$
    • 第二个 * 拿出来——我很抱歉!
    猜你喜欢
    • 1970-01-01
    • 2012-03-06
    • 1970-01-01
    • 2021-03-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多