Javascript “如何防止内部匹配”&引用;?
我正在使用正则表达式来实现。?javascript中的运算符 它的结构是可变的。Javascript “如何防止内部匹配”&引用;?,javascript,regex,Javascript,Regex,我正在使用正则表达式来实现。?javascript中的运算符 它的结构是可变的。键操作?:键为空或未定义时的值 以下是一些有效的例子: foo.?bar():“未定义bar” (foo.bar!=null&&foo.bar!=undefined?foo.bar():“bar未定义”) foo.?bar.x:foo.bar.y (foo.bar!=null&&foo.bar!=未定义?foo.bar.x:foo.bar.y) 我必须防止与此匹配: “foo.?bar.x:foo.bar.y” “'
键操作?:键为空或未定义时的值
以下是一些有效的例子:foo.?bar():“未定义bar”
(foo.bar!=null&&foo.bar!=undefined?foo.bar():“bar未定义”)
foo.?bar.x:foo.bar.y
(foo.bar!=null&&foo.bar!=未定义?foo.bar.x:foo.bar.y)
我必须防止与此匹配:“foo.?bar.x:foo.bar.y”
“'foo.?bar.x:foo.bar.y'
`foo.?bar.x:foo.bar.y`
仍与此匹配时:`我最喜欢的foo值是${foo。?bar.x:foo.bar.y}`
我的问题是,它可以用正则表达式来解决吗?或者它应该用正则表达式和其他形式来部分解决吗?也许可以把它分成更小的字符串?
你有什么建议吗?
也许还有其他方法可以更有效地实现它?如果是的话,我该怎么做?尝试在每件事的开始处添加一个破折号
^
,并在正则表达式正文内签名。^([^-=\s+*\/;)“`]\s+\s*\.\?\s*([\w\d]+)(*?\s*:\s*([^-=\s+*/;]但是1+foo.?bar.x:foo.bar.y
不起作用,应该将其视为表达式。这是什么。?您所说的运算符及其来源是什么?对象
。?has属性if yes do something with it else返回值对象。?key():“此函数可以返回重要的内容,但没有函数,所以我在这里”
@zsawyer此运算符不存在,但是asuming
意味着访问对象中的键,那么?
将意味着如果找到了键,则访问对象中的键,如果没有,则执行其他操作,如我显示的不写入(object.key!=null&&object.key!=未定义的对象。key():“expresion”)
=对象。key():“expresion”