Как я могу реализовать Regexp в TypeScript?
Мой пример:
var trigger = "2"
var regex = new RegExp('^[1-9]\d{0,2}$', trigger); // where I have exeption in Chrome console
Как я могу реализовать Regexp в TypeScript?
Мой пример:
var trigger = "2"
var regex = new RegExp('^[1-9]\d{0,2}$', trigger); // where I have exeption in Chrome console
Я думаю, вы хотите test
ваш RegExp в TypeScript, поэтому вам нужно сделать вот так:
var trigger = "2",
regexp = new RegExp('^[1-9]\d{0,2}$'),
test = regexp.test(trigger);
alert(test + ""); // will display true
Вы должны прочитать Справочник MDN - RegExp, объект RegExp
принимает два параметра pattern
и flags
, которые являются обнуляемыми (могут быть опущены /undefined). Чтобы проверить ваше регулярное выражение, вы должны использовать метод .test()
, не передавая строку, которую вы хотите протестировать внутри объявления вашего RegExp!
Почему test + ""
?
Поскольку alert()
в TS принимает строку в качестве аргумента, лучше написать ее таким образом. Вы можете попробовать полный код здесь.
Вы можете сделать только:
var regex = /^[1-9]\d{0,2}$/g
regex.test(2) // outputs true
В машинописи объявление выглядит примерно так:
const regex : RegExp = /.+\*.+/;
используя конструктор RegExp:
const regex = new RegExp('.+\\*.+');
Буквенная нотация Regex literal notation обычно используется для создания новых экземпляров RegExp
regex needs no additional escaping
v
/ regex / gm
^ ^ ^
start end optional modifiers
Описание тестов и регулярных выражений см.: https://regex101.com/r/Zb8s01/3
const regex = /myRegexp/
console.log('Hello myRegexp!'.replace(regex, 'World')) // = Hello World!
let pattern=new RegExp("^-?[0-9]+(\.[0-9]+)?")
result=pattern.isMatch("hi") //returns false