/ / декодиране на JS регулярен израз - javascript, regex

декодиране на JS регулярен израз - javascript, regex

Аз минавам през някакъв код и аз се натъкнах на този обикновен израз:

var REGEX_STRING_REGEXP = /^/(.+)/([a-z]*)$/;

Аз съм малко объркан относно това, което означава това регулярно изражение.

Досега стигнах до заключението, че:

  1. Започни с /
  2. След това всеки знак (цифров, азбучен, символи, интервали)
  3. след това напред наклонена черта
  4. Край с азбучни знаци

Може ли някой съвет?

Отговори:

2 за отговор № 1

Можете да използвате инструмент като Regexper да визуализирате вашите регулярни изрази. Ако преминем вашия регулярен израз в Regexper, ще получим следната визуализация:

пример

Директна връзка към резултата от Regexper.


1 за отговор № 2

regex: /^/(.+)/([a-z]*)$/

^: котва regex към началото на линията

(. +): 1 или повече копия на думи, не-думи или цифри

([a-z] *): 0 или повече копия на всеки един малък буквен знак a-z

$: котва regex до края на линията

В обобщение, вашият регулярен израз търсикъдето е първото ответно изображение, след което се появяват 1 или повече текстови или не-словни знаци или цифри, а след това друго отместване напред, а след това 0 или повече копия на всеки един малък буквен знак a-z. Накрая, тъй като и двете (. +) И ([a-z] *) са заобиколени в скоби, те ще заснемат съвпаденията, когато ги използвате, за да извършвате операции с регулярно изразяване.

Бих предложил да отида rubular, поставяйки regex ^ / (.+) / ([a-z] *) $ в горното поле и играейки с примерни низове в полето за тестови низове, за да разберем по-добре какви низове ще се поберат в този регекс. (/ string / нещо например ще работи с вашия регулярен израз).