JavaScript 如何将未加引号的纯表达式识别为 RegExp 对象?
How does JavaScript identify unquoted plain expression as RegExp Object?
考虑到 JavaScript RegExp
及其声明过程,您可以在 JavaScript 即时
var exp_blood = /^[A|a|B|b|AB|ab|O|o]{1,2}[+-]{1}$/;
或者用它的构造函数初始化它RegExp
var exp_blood = new RegExp("/^[A|a|B|b|AB|ab|O|o]{1,2}[+-]{1}$/");
考虑到这种情况,我想动态构建一个对象,而无需显式初始化任何构造函数或使用 finite/unique 表达式。我想在不使用名为 HL7V2 的构造函数的情况下声明一个对象。我可以用它的构造函数创建一个对象。例如:
var hl7 = new HL7V2("MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.6");
但我的目标是像 JavaScript
中的 RegExp
一样即时实例化它
var hl7 = MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.6;
是否可行或有什么建议?
RegExp 语法是少数几种语法之一 literal syntaxes built in to the language which allow you to create objects of a certain type using a special syntax (other types that can be built using literal syntaxes include strings and arrays)。
这些语法是语言的特性,您不能为自己的类型添加新的语法。
可以使用 object literal syntax 创建对象,但听起来您想创建特定类型的对象,这对您没有帮助 - 我不认为您想要什么可以做到。
考虑到 JavaScript RegExp
及其声明过程,您可以在 JavaScript 即时
var exp_blood = /^[A|a|B|b|AB|ab|O|o]{1,2}[+-]{1}$/;
或者用它的构造函数初始化它RegExp
var exp_blood = new RegExp("/^[A|a|B|b|AB|ab|O|o]{1,2}[+-]{1}$/");
考虑到这种情况,我想动态构建一个对象,而无需显式初始化任何构造函数或使用 finite/unique 表达式。我想在不使用名为 HL7V2 的构造函数的情况下声明一个对象。我可以用它的构造函数创建一个对象。例如:
var hl7 = new HL7V2("MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.6");
但我的目标是像 JavaScript
中的RegExp
一样即时实例化它
var hl7 = MSH|^~\&|SENDERAPP|SENDERFAC|COVCDR|COVCDR|20130212221503||ORU^R01|1676326503009050|P|2.6;
是否可行或有什么建议?
RegExp 语法是少数几种语法之一 literal syntaxes built in to the language which allow you to create objects of a certain type using a special syntax (other types that can be built using literal syntaxes include strings and arrays)。
这些语法是语言的特性,您不能为自己的类型添加新的语法。
可以使用 object literal syntax 创建对象,但听起来您想创建特定类型的对象,这对您没有帮助 - 我不认为您想要什么可以做到。