Heim  >  Fragen und Antworten  >  Hauptteil

Eliminieren Sie „zwei oder mehr“ Leerzeichen im regulären Ausdruck

Ich benötige einen regulären Ausdruck, um Folgendes zuzulassen:

  1. Keine Leerzeichen am Anfang oder Ende der Zeile
  2. Zwischen Wörtern darf nur ein Leerzeichen stehen

Ich habe genug von so etwas wie „^[АЯ-Ёа-яё0-9‘‘]+$“ – aber das ist nicht das, was ich brauche.

P粉959676410P粉959676410369 Tage vor924

Antworte allen(1)Ich werde antworten

  • P粉133321839

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

    这应该有效:

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

    以下是表达式的细分:

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

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

    Antwort
    0
  • StornierenAntwort