考虑到 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}$/");
考虑到这种情况,我想动态构建一个对象,而无需显式初始化任何构造函数或使用有限/唯一表达式。我想在不使用名为 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 语法之一内置于语言中,允许您使用特殊语法创建特定类型的对象(可以使用文字语法构建的其他类型包括 strings 和 arrays )。
这些语法是语言的特性,您不能为自己的类型添加新的语法。
可以使用 object literal syntax 创建对象,但听起来您想创建一种特定类型的对象,这对您没有帮助 - 我认为您想要做的事情是不可能的。
关于java - JavaScript 如何将未加引号的纯表达式识别为 RegExp 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453909/