Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/17.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript TypeScript和RegExp_Javascript_Regex_Typescript - Fatal编程技术网

Javascript TypeScript和RegExp

Javascript TypeScript和RegExp,javascript,regex,typescript,Javascript,Regex,Typescript,打字稿上写着: 类型为“{(模式:字符串,标志?:字符串):RegExp;新建(模式:字符串,标志?:字符串):RegExp;}”的值上不存在属性“$1” 可以通过查看TypeScript 0.8.2附带的lib.d.ts中的定义来解释该类型: 我的问题是,我如何更改/更新它以允许我引用RegExp.$1,RegExp.$2,等等。?最好是我可以单独声明的内容,因为我不打算直接编辑lib.d.ts(在更新时很可能会被替换) 我试过了,但没有用: declare var RegExp: {

打字稿上写着:

类型为“
{(模式:字符串,标志?:字符串):RegExp;新建(模式:字符串,标志?:字符串):RegExp;}”的值上不存在属性“
$1

可以通过查看TypeScript 0.8.2附带的
lib.d.ts
中的定义来解释该类型:

我的问题是,我如何更改/更新它以允许我引用
RegExp.$1
RegExp.$2
,等等。?最好是我可以单独声明的内容,因为我不打算直接编辑
lib.d.ts
(在更新时很可能会被替换)

我试过了,但没有用:

declare var RegExp: {
    new (pattern: string, flags?: string): RegExp;
    (pattern: string, flags?: string): RegExp;
    $1: any;
    $2: any;
    $3: any;
    $4: any;
    $5: any;
    $6: any;
    $7: any;
    $8: any;
    $9: any;    
}
我想它们实际上应该用type
string
声明。但无论如何,它都不能消除错误

除此之外,我还很好奇这到底意味着什么(为什么声明有和没有
new
?):


您的
声明var
已关闭。接口是开放的,因此您只需编写:

interface RegExp {
    $1: string;
    $2: string;
    // etc
}

关于第二个,这是因为
newregexp('[A-Z]')
RegExp('[A-Z]')
都可以创建一个RegExp(就类型而言,它既是一个可调用的函数,也是一个构造函数)。

它给了我“重复的标识符'$1'”。这是Visual Studio中的一个bug—您仍然可以很好地编译。这将在将来的版本中得到修复;但是,请参阅没有解决原始错误。仍然说属性
$1
等不存在这对我来说很有用:接口RegExp{$1:string;}var x=/[A-Z]/;控制台日志(x.$1);嗯,这对我不管用。我将创建一个包含该文件的文件,并在有机会时在其上运行
node tsc.js
(但现在是下午5点,所以必须等待)
new (pattern: string, flags?: string): RegExp;
(pattern: string, flags?: string): RegExp;
interface RegExp {
    $1: string;
    $2: string;
    // etc
}