Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/16.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,假设逻辑表达式如下所示: (A || B) && (C | D) /AND|OR|and|or|XOR|&&|<=|<|>|>=|!=|==|&|OR*|!|\/[|]\/|\/(|)*\//gi 我想编写一个正则表达式,在表达式中搜索|和|字符 这是我目前用来查找大多数其他逻辑运算符的正则表达式: /AND|OR|and|or|XOR|&&|<=|<|>|>=|!=|==|&|O

假设逻辑表达式如下所示:

(A || B) && (C | D)
/AND|OR|and|or|XOR|&&|<=|<|>|>=|!=|==|&|OR*|!|\/[|]\/|\/(|)*\//gi
我想编写一个正则表达式,在表达式中搜索
|
|
字符

这是我目前用来查找大多数其他逻辑运算符的正则表达式:

/AND|OR|and|or|XOR|&&|<=|<|>|>=|!=|==|&|OR*|!/gi
但它与我的逻辑表达式不匹配。

试试这个:

AND|OR|and|or|XOR|&&|<=|<|>|>=|!=|==|&|OR*|!|[||]{2}|\|
和|或|和|或|异或&&&&&=|=|==|&|或者*||[||]{2}|\|

您还可以在这里测试这些正则表达式:

您可以在您的正则表达式中添加一个类似
\\\\\\{1,2}
的替代分支:

/AND|OR|and|or|XOR|&&|<=|>=|<|>|!=|==|&|OR*|!|\|{1,2}/gi

看另一个。请注意,这些单词可能只需要作为整个单词进行匹配,然后您需要
/\b(?:and | x?或)\b&&&&&[!=]={1,2}/gi

尝试
/和|或|和|或|异或&&&&=|==|&|或者*||\|{1,2}/gi
与以下字符不匹配:S?请显示代码,其他地方一定有问题。只需加上
\\\\\\\\\\\\\\\\
即可done@WiktorStribiżew在同一个在线工具上进行扩展后留下了一些空白,所以它无法找到mathc。。作品,谢谢:)你应该读。@WiktorStribiżew谢谢。我已经更新了代码。由于RegEx很热心,我们应该首先查找| |,然后尝试查找|。我说的对吗?是的,我只是不想用“regex是渴望的”这个词。它只是一个“渴望”的未编排的备选组,它不在乎匹配NFA正则表达式中最长的备选组。请注意,在字符类中,一个
|
就足够了,
[||]{2}
=
[|]{2}
。在上面的正则表达式或*中,o和ORRRR都有效,我认为它是错误的,或者应该是=>或
/and|x?or|&&|[<>!=]=|[<>&!]|\|{1,2}/gi