Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/380.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 如何使用regexp拆分字符串并仅获取关键部分?_Javascript_Regex - Fatal编程技术网

Javascript 如何使用regexp拆分字符串并仅获取关键部分?

Javascript 如何使用regexp拆分字符串并仅获取关键部分?,javascript,regex,Javascript,Regex,我有一个类似于“a=6或(C

我有一个类似于
“a<-5.9和B>=6或(C<3)”的字符串。
我必须得到关键部分(a,B,C)。所以我想我应该先分开,然后我应该得到关键部分?你能帮我吗?我只写了A,B,C,但在我的实际例子中,A可以是任何字符串。重要的是,这是价值观的正确一面
,=

最简单的方法是使用正则表达式进行拆分:

"A < -5.9 AND B >= 6 OR (C < 3)".split(/ AND | OR /);

// ["A < -5.9", "B >= 6", "(C < 3)"]
“A<-5.9和B>=6或(C<3)”。拆分(/和|或/);
//[“A<-5.9”,“B>=6”,“C<3”]

最简单的方法是使用正则表达式进行拆分:

"A < -5.9 AND B >= 6 OR (C < 3)".split(/ AND | OR /);

// ["A < -5.9", "B >= 6", "(C < 3)"]
“A<-5.9和B>=6或(C<3)”。拆分(/和|或/);
//[“A<-5.9”,“B>=6”,“C<3”]

我们可以尝试对模式上的所有匹配项执行正则表达式搜索:

\b([A-Z]+) \S+ -?\d+(?:\.\d+)?\b
示例脚本:

var regex=/\b([A-Z]+)\S+-?\d+(?:\。\d+)\b/g;
var input=“A<-5.9和B>=6或(C<3)”;
var-m;
做{
m=regex.exec(输入);
如果(m){
console.log(m[1]);
}

}while(m)我们可以尝试对模式上的所有匹配项执行正则表达式搜索:

\b([A-Z]+) \S+ -?\d+(?:\.\d+)?\b
示例脚本:

var regex=/\b([A-Z]+)\S+-?\d+(?:\。\d+)\b/g;
var input=“A<-5.9和B>=6或(C<3)”;
var-m;
做{
m=regex.exec(输入);
如果(m){
console.log(m[1]);
}

}while(m)
如果只是捕获出现在比较运算符左侧的变量名,则不使用正则表达式,您可以在不使用正则表达式的情况下删除字符串并匹配字符

const s=“A<-5.9和B>=6或(C<3)”;
常量变量=s.match(/\w+(?=\s*[])/g);

console.log(变量)如果只是捕获出现在比较运算符左侧的变量名:

const s=“A<-5.9和B>=6或(C<3)”;
常量变量=s.match(/\w+(?=\s*[])/g);

console.log(变量)一个示例不足以提供正确的逻辑。或者提供更多的示例,或者提供表达式所遵循的规则。有一个例子,只提取所有的一个字母标记就足够了,一个例子不足以给出正确的逻辑。或者提供更多的示例,或者提供表达式所遵循的规则。在您现在的一个示例中,仅提取所有单字母标记就足够了。