Подберите любое слово, которое содержит определенную строку символов - PullRequest
4 голосов
/ 12 мая 2010

Заранее извиняюсь за плохое название этого поста.

Я пытаюсь найти совпадение с любым словом, которое содержит определенную строку символов, т. Е. Если бы я хотел сопоставить любое слово, содержащее строку 'press', я бы хотел, чтобы в результате поиска было возвращено следующее:

  • нажмите
  • выражение
  • депрессия
  • давление

Пока у меня есть /press\w+/, который соответствует слову илюбые последующие символы, но я не знаю, как получить предыдущие символы.

Большое спасибо

Ответы [ 2 ]

3 голосов
/ 12 мая 2010

Поскольку ваша определенная строка символов может быть неизвестна во время компиляции, вот функция, которая работает с любой строкой:

function findMatchingWords(t, s) {
    var re = new RegExp("\\w*"+s+"\\w*", "g");
    return t.match(re);
}

findMatchingWords("a pressed expression produces some depression of pressure.", "press");
// -> ['pressed','expression','depression','pressure']
3 голосов
/ 12 мая 2010

Попробуйте

 /\w*press\w*/

* - «ноль или более», где + - «один или несколько». Ваше оригинальное регулярное выражение не будет соответствовать просто "press".

Смотри также

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