Regex для получения строки 'word' из `({#word #})` в Nodejs - PullRequest
0 голосов
/ 20 января 2019

Как получить строку word из ({#word#}) с помощью регулярных выражений в Nodejs?

Регулярное выражение, которым я сейчас пользуюсь: /\(({#[^)]+#})\)/g Это дает мне строку {#word#} от ({#word#}).

Как мне получить word?

1 Ответ

0 голосов
/ 20 января 2019

Используйте это регулярное выражение:

/\(\{#(.*?)#\}\)/g

и получите первое совпадение с группой захвата:

/\(\{#(.*?)#\})\)/g.exec("({#test#})")[1] === "test"

Группы захвата - это выражения в скобках в регулярном выражении, которые сохранят часть текста.это соответствует.Вы можете иметь несколько, но в этом случае нам нужен только один.

.*? прост, но не эффективен, если у вас есть регулярное выражение для word, используйте его вместо этого.

Подробнее о захвате групп:

https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#grouping-back-references

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