2013-08-21 3 views
0

Так что я хочу совпадение - это все, что заканчивается на «.ProjectName», поэтому я написал небольшой тестовый пример. Я намеренно создал шаблон с использованием RegExp, потому что в сценарии реального случая я буду использовать переменную как часть шаблона reg ex. Я не уверен, что мой шаблон неправильный (90% уверен, что он прав), или если я злоупотребляю функцией соответствия (70% уверен, что я подаю в суд на это правильно). Код раздувом возвращает мне что-то, когда второй случай notMatchName не должен возвращать мне что-нибудьСоответствие RegEx не работает

var inputName = "ProjectName"; 
var matchName = "userInput_Heading.Heading.ProjectName"; 
var notMatchName = "userInput_Heading.Heading.Date"; 
var reg = new RegExp(".*[." + inputName + "]"); 
console.log(reg); 
console.log(matchName.match(reg)); 
console.log(matchName.match(reg)[0]); 
console.log(notMatchName.match(reg)); 
console.log(notMatchName.match(reg)[0]); 

Вот JsFiddle помочь.

ответ

2

Использование

var reg = new RegExp(".*\." + inputName); 

квадратные скобки означают: один символ, который является одним из тех, в скобках. Но вы хотите несколько characzters, сначала точку, то первый символ inputName и т.д.

+0

@FrankPI Slap меня глупо и назовут меня дядюшкой волей, что было глупо с моей стороны. Ugh LOL. –

1

регулярное выражение должно быть .*\.projectName

если вы переписать заявление будет

var reg = new RegExp(".*\." + inputName) 
Смежные вопросы