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

Есть такой кейс нужно составить регулярное выражение которое позволяет выделить все строки отвечающие условиям:

  1. Должна состоят только из букв
  2. Одна и только одна из букв является заглавной

Если составить что то вроде /^[a-z]+[A-Z]{1, 1}$/, то получим строку из строчных букв в конце которой одна заглавная, это не то что нужно. Есть какие-нибудь мысли? Буду рад любой помощи.


Ответы (2 шт):

Автор решения: UModeL

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

/^[а-я]*[А-Я][а-я]*$/gm

let sTxt = `Есть такой Кейс нужно
Составить регулярное
Выражение
коТорое
поЗвОляет
выделитЬ`;
let rExp = /^[а-я]*[А-Я][а-я]*$/gm;
let aRes = sTxt.match(rExp);

console.log(aRes);

→ Ссылка
Автор решения: Faxriddin Boltaev

let sTxt = `Есть такой Кейс нужно
Составить регулярное
Выражение
коТорое
поЗвОляет
выделитЬ`;
let rExp = /^[а-я]*[А-Я][а-я]*$/gm;
let aRes = sTxt.match(rExp);

console.log(aRes);

let sTxt = `Есть такой Кейс нужно
Составить регулярное
Выражение
коТорое
поЗвОляет
выделитЬ`;
let rExp = /^[а-я]*[А-Я][а-я]*$/gm;
let aRes = sTxt.match(rExp);

console.log(aRes);

→ Ссылка