Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/292.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 用于验证JS中逻辑运算符表达式的正则表达式_Javascript_C# - Fatal编程技术网

Javascript 用于验证JS中逻辑运算符表达式的正则表达式

Javascript 用于验证JS中逻辑运算符表达式的正则表达式,javascript,c#,Javascript,C#,我从中得到了正则表达式,用于验证C#中的逻辑运算符表达式 “^(?=^[^()]*\((?>[^()]+\((?))\(?)*(?)*((?)(!)\)[^()]*$)[(]*\d+[)]*(\s+(&&&&&&&&\\\\\\\\\\\\\)\s+[(]*\d+[)*)*)” 但是,我不能将其用作JS。有人能帮我把这个正则表达式转换成JS吗,或者给我分享一下把正则表达式从C#转换成JS的工具吗?你不能直接把它转换成JS。NET支持递归正则表达式,而JS不支持(我反对使用它,因为它不可能读取和

我从中得到了正则表达式,用于验证C#中的逻辑运算符表达式

“^(?=^[^()]*\((?>[^()]+\((?))\(?)*(?)*((?)(!)\)[^()]*$)[(]*\d+[)]*(\s+(&&&&&&&&\\\\\\\\\\\\\)\s+[(]*\d+[)*)*)”

但是,我不能将其用作JS。有人能帮我把这个正则表达式转换成JS吗,或者给我分享一下把正则表达式从C#转换成JS的工具吗?

你不能直接把它转换成JS。NET支持递归正则表达式,而JS不支持(我反对使用它,因为它不可能读取和维护)


为此,最好使用基于堆栈的解析器(即状态机)。问题其实与如何构建计算器没有什么不同(例如,如何解析像“(1+2)*3”?这样的字符串)。例如,您可以找到这样一个简单的解析器。

是否有任何资源可以解析后缀符号后面的字符串?
"^(?=^[^()]*\((?>[^()]+|\((?<DEPTH>)|\)(?<-DEPTH>))*(?(DEPTH)(?!))\)[^()]*$)[(]*\d+[)]*(\s+(&&|\|\|)\s+[(]*\d+[)]*)*$"