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

#javascript #regex

#javascript #регулярное выражение

Вопрос:

Я новичок в регулярных выражениях.

Следующий код работает как ожидалось, выводя сначала «true», а затем «false», обратную косую черту перед точкой, экранирующей ее:

 var pattern = new RegExp(/./);
document.write(pattern.test("."));
document.write(pattern.test("a"));
  

Но почему следующее выводит «false»:

 var pattern = new RegExp(/b./);
document.write(pattern.test("."));
  

Точка, в конце концов, находится в начале строки.

Ответ №1:

Вы хотите попробовать использовать ^

 /^./
  

Если у вас есть

 /b./
  

оно соответствует . ‘s в Hello. How are you.

Комментарии:

1. Думаю, теперь я понял. Я только что прочитал описание различия между словом и несловесными символами, и я предполагаю, что строка должна начинаться с символа word, чтобы b воспринимал ее как слово.

Ответ №2:

Это не работает, потому что для того, чтобы иметь разрыв слова, вам сначала нужно иметь слово.

Используя b , это сработало бы:

 var pattern = new RegExp(/ab./);
document.write(pattern.test("a."));
  

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

 ".".charAt(0) === "."