java - JavaScript 如何将未加引号的纯表达式识别为 RegExp 对象?

标签 java javascript regex mozilla rhino

考虑到 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 语法之一内置于语言中,允许您使用特殊语法创建特定类型的对象(可以使用文字语法构建的其他类型包括 stringsarrays )。

这些语法是语言的特性,您不能为自己的类型添加新的语法。

可以使用 object literal syntax 创建对象,但听起来您想创建一种特定类型的对象,这对您没有帮助 - 我认为您想要做的事情是不可能的。

关于java - JavaScript 如何将未加引号的纯表达式识别为 RegExp 对象?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28453909/

相关文章:

java - 'stringList[3]' 等字符串的正则表达式

java - ShapeRenderer LibGdx 不工作

java - commonj.work包中的Work接口(interface)是什么?

java - 如何使用 NetBeans 将 Macos DMG 默认图标转换为自定义图标?

Javascript 多行字符串替换为多行字符串

javascript - 从检索到的页面的 JavaScript 中解析数据

java - 在 java 原生接口(interface)中调用 DeleteLocalRef

javascript - Jquery 中 $ ("#").load() 完成后是否会触发任何事件?

javascript - TypeScript:TypeError b 未定义

javascript - 将对象的元素替换为其自己的子元素之一