#javascript #regex
#javascript #регулярное выражение
Вопрос:
У меня есть строка {{my name}}
, и я хочу добавить пробел в регулярное выражение
var str = "{{my name}}";
var patt1 = /{{w{1,}}}/gi;
var result = str.match(patt1);
console.log(result);
Но результат не соответствует.
Любое решение для этого.
Комментарии:
1. Куда вы хотите добавить пробел?
2. используя ваш шаблон .. /{{w{1,} w{1,}}}/gi
3. s — будет соответствовать точному одному пробелу
4. Привет, после этого, один из ответов решил это для вас, или вопрос все еще существует?
Ответ №1:
Укажите символ слова w
и символ пробела s
внутри класса символов []
,
> var patt1 = /{{[ws] }}/gi;
undefined
> var result = str.match(patt1);
undefined
> console.log(result);
[ '{{my name}}' ]
Приведенное выше регулярное выражение такое же, как /{{[ws]{1,}}}/gi
Объяснение:
{
— Соответствует буквальному{
символу.{
— Соответствует буквальному{
символу.[ws]
— символ слова и символ пробела задаются внутри класса символов. Оно соответствует одному или нескольким символам слова или пробела.}
— Соответствует буквальному}
символу.}
— Соответствует буквальному}
символу.
Комментарии:
1. мне также нужна строка, содержащая последовательность не менее 1
2.
[ws]
соответствует символу слова или символу пробела одному или нескольким.
Ответ №2:
Попробуйте это
^{{[a-z]*s[a-z]*}}$
Объяснение:
- { — соответствует буквальному символу {.
- { — соответствует буквальному символу {.
- [a-z]* — будет соответствовать нулю или более символов
- s — будет соответствовать точному одному пробелу
- } — соответствует буквальному символу }.
- } — соответствует буквальному символу }.
Если вам нужен обязательный символ, то используйте вместо *.
Ответ №3:
Чтобы соответствовать этому шаблону, используйте это простое регулярное выражение:
{{[^}] }}
Демонстрация показывает, что соответствует шаблону, а что нет.
В JS:
match = subject.match(/{{[^}] }}/);
Чтобы выполнить замену вокруг шаблона, используйте это:
result = subject.replace(/{{[^}] }}/g, "Something$0Something_else");
Объяснение
{{
соответствует вашим двум открывающим фигурным скобкам[^}]
соответствует одному или нескольким символам, которые не являются закрывающей фигурной скобкой}}
соответствует вашим двум закрывающим фигурным скобкам
Комментарии:
1. К вашему сведению, добавлена демонстрация того, что соответствует шаблону, а что нет. 🙂