регулярное выражение для слов, начинающихся с определенной строки (javascript) - PullRequest
1 голос
/ 26 октября 2009

Я пытаюсь написать регулярное выражение в javascript для поиска, если какие-либо слова в предложении начинаются с определенной фразы. Например, я хотел бы знать, если "в" содержится в начале любого слова в следующем предложении: «Переломный момент Малкольма Гладуэлла».

Я пытался использовать \b, но /\bsor/ будет соответствовать предложению типа «Орган Мэри сломан». то есть он рассматривает пунктуацию как границу слова и начинает сопоставлять после них. Есть мысли?

Ответы [ 3 ]

1 голос
/ 26 октября 2009

/ (?: \ S | ^) бар / - возможно - хотя смотрите ответ, чтобы сначала разбить его

/(?:\s|^)bar/.test("bar")     // true
/(?:\s|^)bar/.test("foo bar") // true
/(?:\s|^)bar/.test("foo'bar") // false
/(?:\s|^)bar/.test("Sentence One.bar Two.") // false ... "oops"?
0 голосов
/ 07 ноября 2009

На Regexpedia есть статья с кодом и пояснениями.

JavaScript Поиск строк, начинающихся со слова

0 голосов
/ 26 октября 2009

Как насчет использования split в предложении, чтобы проверить свое выражение на каждом слове?

Вы также можете использовать indexOf вместо регулярного выражения.

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