# Learn Functional Programming by Building a Spreadsheet - Step 35

### Can anyone tell what am i doing wrong I don’t know a lot about regular expressions

``````/* file: script.js */
const isEven = num => num % 2 === 0;
const sum = nums => nums.reduce((acc, el) => acc + el, 0);
const average = nums => sum(nums) / nums.length;

const median = nums => {
const sorted = nums.slice().sort((a, b) => a - b);
const length = sorted.length;
const middle = length / 2 - 1;
return isEven(length)
? average([sorted[middle], sorted[middle + 1]])
: sorted[Math.ceil(middle)];
}

sum,
average,
median
}

const range = (start, end) => Array(end - start + 1).fill(start).map((element, index) => element + index);
const charRange = (start, end) => range(start.charCodeAt(0), end.charCodeAt(0)).map(code => String.fromCharCode(code));

/* User Editable Region */

const evalFormula = (x, cells) => {
const idToText = id => cells.find(cell => cell.id === id).value;
const rangeRegex =  /^[A-J]/;
}

/* User Editable Region */

const container = document.getElementById("container");
const createLabel = (name) => {
const label = document.createElement("div");
label.className = "label";
label.textContent = name;
container.appendChild(label);
}
const letters = charRange("A", "J");
letters.forEach(createLabel);
range(1, 99).forEach(number => {
createLabel(number);
letters.forEach(letter => {
const input = document.createElement("input");
input.type = "text";
input.id = letter + number;
input.ariaLabel = letter + number;
input.onchange = update;
container.appendChild(input);
})
})
}

const update = event => {
const element = event.target;
const value = element.value.replace(/\s/g, "");
if (!value.includes(element.id) && value.startsWith('=')) {

}
}
``````

User Agent is: `Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36`

### Challenge Information:

Learn Functional Programming by Building a Spreadsheet - Step 35

You did the character class for matching A-J correctly, but you forgot about the capture group. A capture group allows you to use the value that is matched later on. Do you remember how to do that?

Also, you don’t want to anchor it to the beginning of the string.

That’s the problem i don’t know anything about capturing group

It seems strange that freeCodeCode would refer to capture groups in this step without having introduced then in a previous course. Have you done all of the preceding courses? If so, you don’t remember capture groups ever being mentioned?

I did find this an article on freeCodeCamp news that covers them. I’m sure you could find more if you searched the googles a little.

A Practical Guide to Regular Expressions – Learn RegEx with Real Life Examples