Javascript String Match function
从上面的文档中我看到String.prototype.match()函数的输入是" regexp"。它显然不是一个字符串。它的类型是什么?
在TypeScript中如何声明输入变量?
regex:regexp = ^\d{2}\/\d{2}\/\d{4}$
由于正则表达式不是可识别的类型,因此上面显然会抛出错误。我该如何解决?
答案 0 :(得分:5)
您可以查看lib.d.ts
中的类型信息:
/**
* Matches a string with a regular expression, and returns an array containing the results of that search.
* @param regexp A variable name or string literal containing the regular expression pattern and flags.
*/
match(regexp: string): RegExpMatchArray;
/**
* Matches a string with a regular expression, and returns an array containing the results of that search.
* @param regexp A regular expression object that contains the regular expression pattern and applicable flags.
*/
match(regexp: RegExp): RegExpMatchArray;
你可以看到正则表达式的类型是RegExp
,match
有两个定义,一个是字符串,另一个是RegExp。
答案 1 :(得分:0)
试试这个
//inside the class
//this expression is to test valid email
public reg: RegExp = /^\w+([\.-]?\w+)*@\w+([\.-]?\w+)*(\.\w{2,3})+$/;
然后你可以在课堂上测试它
this.reg.test("expression to test")
//在课堂外面
let reg = /^\d+$/;
alert(reg.test("sd")); //will alert false