Найдите простынные пары звездочек


2

Надеюсь, это будет полезно. Здесь мы используем комбинацию, которая может быть возможна **words spaces**, **spaces words**и(?<=s|^)(?:**)(s+([^*]+)s+|s+([^*]+)|([^*]+)s+)(?:**)

Демо-версия Regex

Regex: (?<=s|^)

1. (?:**) положительный внешний вид ** или начало строки

2. (s+([^*]+)s+ матчspace

3. somewords это будет соответствовать spaceтогда, spaceа затемspace

4. s+([^*]+) матч, spacesа затем все до *(не включая *)

5. ([^*]+)s+) сопоставитьspaces

6. (?:**) матч**


1

Попробуй это:

(?:**S.+?S**|(**(?:s.+?|.+?s)**))

Объяснение:

                                      // Строка должна содержать:
(?:  *  *  S. +?  S  *  * | // Правильно отформатированный блок ИЛИ
           (// блок с форматированием BAD - пространство
             *  * (?:  s. +? | // слева от форматирования ИЛИ
                         . +?  s)  *  * // справа от форматирования
           )
)

демонстрация


0

Это подходящий для javascript шаблон, который вам нужен:

^[^*]*(?:*{2}[^ ][^*]*[^ ]*{2}[^* ]*)*(*{2}(?: [^*]+|[^*]+ )*{2}).*$

Объяснение (в случайных выражениях):

^[^*]*                                # match anything preceding the first *
(?:*{2}[^ ][^*]*[^ ]*{2}[^*
]*)*   # match zero or more valid sets of **'s, so we don't lose track of what is an opener/closer
(?:*{2}(?: [^*]+|[^*]+ )*{2})       # REQUIRE just one invalid ** set
.*$                                   # after one invalid set is found, it doesn't matter what trails it before end of line

Демо-ссылка Regex

JavaScript, регулярное выражение, уценки,

javascript,regex,markdown,

3

Ответов: 3


2

Надеюсь, это будет полезно. Здесь мы используем комбинацию, которая может быть возможна **words spaces**, **spaces words**и(?<=s|^)(?:**)(s+([^*]+)s+|s+([^*]+)|([^*]+)s+)(?:**)

Демо-версия Regex

Regex: (?<=s|^)

1. (?:**) положительный внешний вид ** или начало строки

2. (s+([^*]+)s+ матчspace

3. somewords это будет соответствовать spaceтогда, spaceа затемspace

4. s+([^*]+) матч, spacesа затем все до *(не включая *)

5. ([^*]+)s+) сопоставитьspaces

6. (?:**) матч**


1

Попробуй это:

(?:**S.+?S**|(**(?:s.+?|.+?s)**))

Объяснение:

                                      // Строка должна содержать:
(?:  *  *  S. +?  S  *  * | // Правильно отформатированный блок ИЛИ
           (// блок с форматированием BAD - пространство
             *  * (?:  s. +? | // слева от форматирования ИЛИ
                         . +?  s)  *  * // справа от форматирования
           )
)

демонстрация


0

Это подходящий для javascript шаблон, который вам нужен:

^[^*]*(?:*{2}[^ ][^*]*[^ ]*{2}[^* ]*)*(*{2}(?: [^*]+|[^*]+ )*{2}).*$

Объяснение (в случайных выражениях):

^[^*]*                                # match anything preceding the first *
(?:*{2}[^ ][^*]*[^ ]*{2}[^*
]*)*   # match zero or more valid sets of **'s, so we don't lose track of what is an opener/closer
(?:*{2}(?: [^*]+|[^*]+ )*{2})       # REQUIRE just one invalid ** set
.*$                                   # after one invalid set is found, it doesn't matter what trails it before end of line

Демо-ссылка Regex

JavaScript, регулярное выражение, уценки,