как сопоставить границу без слова + слова в регулярном выражении javascript.
"This is, a beautiful island".match(/\bis,\b/)
В приведенном выше случае, почему механизм регулярных выражений не совпадает до is, и предполагает, что пространство является границей слова, не двигаясь дальше.
Вы можете использовать \B
после запятой, которая соответствует, где \b
не соответствует, поскольку запятая не считается символом слова.
console.info( "This is, a beautiful island".match(/\bis,\B/) )
//=> ["is,"]
\b
утверждает позицию, в которой символ слова \w
встречается с символом, отличным от слова \W
, или наоборот. Запятая и пробел тоже не являются символом слова. Таким образом, \b
никогда не соответствует позиции между запятой и пробелом.
Также вы забыли поставить конечный разделитель в свое регулярное выражение.
См. stackoverflow.com/a/10983983/3832970 и особенно stackoverflow.com/questions/1324676/…