Как проверить, находится ли строка javascript между двумя другими строками - PullRequest
0 голосов
/ 06 марта 2020

Допустим, у меня была такая строка:

let string = "one two three four five red five six seven eight nine"

Как я могу вернуть логическое значение (либо true, либо false), которое сообщает пользователю, находится ли слово red между два слова five (В этом случае будет возвращено логическое значение true, поскольку red находится между двумя fives)?

Пример использования этого кода

Я создаю текстовый редактор, в котором пользователь печатает код в текстовой области.

Я собираюсь вернуть значение текстового редактора в виде переменной. Я хотел бы проверить, вводит ли пользователь код в двух тегах <script>.

Вот код для textarea:

<textarea class="form-control slideIn" id="input" spellcheck="false" wrap="off" placeholder="Get Creative!"></textarea>

И этот код получает значение textarea:

const code = document.getElementById("input").value;

Помогает ли это?

1 Ответ

1 голос
/ 06 марта 2020

Вы можете сгенерировать простое регулярное выражение, подобное этому five(.*)five

С небольшой настройкой оно может стать чем-то вроде


function isBetween(mystring, between, left, right)
{
    // define the regex which will become : "/five(.*)five/g"
    const regex = new RegExp( left + ' (.*) ' + right, 'g');

    // execute the regex
    const m = regex.exec(mystring);

    // if there is a result and the (.*) pattern matched sthg
    // then check if its equel to red
    return m && m[1] ? (m[1] === between) : false;
}

isBetween("one two three four five red five six seven eight nine", "red", "five", "five");

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...