我有这样一个字符串:
20 EQUALS 'Value goes here'
我想把它分成 3 个单独的字符串:
条件字段 = 20
conditionOperation = 'EQUALS'
conditionValue = 'Value goes here'
我试过这个来获取条件字段:
var conditionField = condition.replace(/(.*)(.*EQUALS)/, '$1');
但它既是开始也是结束。
我在拆分它和处理值中的空格和空格时遇到了问题。
最佳答案
如果您想任意提取引用的术语和单个单词,您的问题实际上会有点挑战。但是由于您似乎有一个相当固定的结构,从一个数字开始,然后是一个单词命令,然后是第三个术语,我们可以在这里使用以下正则表达式模式:
([^\\s]*)\\s+([^\\s]*)\\s+(.*)
在匹配运行后,上面括号中的每个术语都将作为捕获组提供。在这种情况下,我只是将前两个学期之后的所有内容都放在一起。
var string = "20 EQUALS 'Value goes here'";
var re = new RegExp("([^\\s]*)\\s+([^\\s]*)\\s+(.*)");
match = re.exec(string);
if (match != null) {
console.log(match[1])
console.log(match[2])
console.log(match[3])
}
关于javascript - 在正则表达式 Javascript 中获取内部字符串前后的字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45789535/