Раньше я был очень успешен с такими проблемами с регулярными выражениями:
var string = '<a href="https://my.domain.com/personal/jan_kowalski_pl_company_com/Documents/Forms/All.aspx">Text</a>';
var regExp = /([\w]{2})_company_com/;
find = string.match(regExp);
console.log(find); // array with found matches
console.log(find[1]); // first group of regexp = country code
Сначала вы получили заданную строку. Во-вторых, у вас есть регулярное выражение, которое отмечается двумя косыми чертами в начале и в конце. Регулярное выражение в основном используется для поиска строк (вы можете даже заменить сложный текст во всех основных редакторах, что может быть ОЧЕНЬ полезно).
В данном случае здесь он соответствует точно двум символам слова [\w]{2}
, за которыми непосредственно следует _company_com
(\w
обозначает символ слова, []
группирует все требуемые типы символов, здесь только символы слова, а {}
обозначает количество символов, которые будут найдены). Теперь, чтобы найти нужную часть, нужно вызвать string.match(regExp)
, чтобы получить все захваченные результаты. Он возвращает массив со всей захваченной строкой, за которой следуют все группы захвата в regExp (которые обозначены ()
). Таким образом, в этом случае вы получите код страны с find[1]
, который является первой и единственной группой захвата регулярного выражения.