搜索

首页  >  问答  >  正文

消除正则表达式中的“两个或多个”空格

我需要一个正则表达式来允许:

  1. 不能在行首和行尾放置空格
  2. 单词之间只能有一个空格

我已经足够了“^[АЯ-Ёа-яё0-9' ']+$”之类的东西,-但这不是我需要的。

P粉959676410P粉959676410469 天前1006

全部回复(1)我来回复

  • P粉133321839

    P粉1333218392023-09-17 12:55:12

    这应该有效:

    ^(?! )(?!.*  )(?!.* $)[^\s].*$

    以下是表达式的细分:

    • ^:断言行的开头。
    • (?! ):否定前瞻,禁止行首有空格。
    • (?!.* ):负向前瞻,不允许字符串中存在两个或多个连续空格。
    • (?!.* $):否定前瞻,不允许行尾有空格。
    • [^\s]:匹配任何非空白字符。
    • .*:匹配任何字符(换行符除外)0 次或多次。
    • $:断言行尾。

    我在 regex101.com 上进行了一个小型测试。

    回复
    0
  • 取消回复