Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/414.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

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 “如何防止内部匹配”&引用;?_Javascript_Regex - Fatal编程技术网

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” “'

我正在使用正则表达式来实现。?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.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”