正则表达式有2种不同的文字

时间:2019-03-04 11:57:11

标签: javascript regex

我有一个编辑器,在编辑器中,我必须找到匹配项,并用预定义的文本替换特定文本,或者只是找到匹配项。

假设我有这样的文字

if (VALUE('Name') == 'Jhon Doe') {
  SET_VALUE('Jhon Abraham');
} else if (VALUE('Address') == '512 Lane') {
  SET_VALUE('Whitehouse lane')
}

我有这两个正则表达式,但这失败了

/VALUE\(('|").*('|")?\)/g
/SET_VALUE\(('|").*('|")?\)/g

由于第二个正则表达式,第一个也找到SET_VALUE作为VALUE。我仍在学习正则表达式,这是新知识。

在我使用摩纳哥编辑器之间,我必须使用自动补全

 provideCompletionItems: (model, position) => {
    const textUntilPosition = model.getValueInRange({
      startLineNumber: 1, startColumn: 1,
      endLineNumber: position.lineNumber, endColumn: position.column
    });

    const regexConstructCompletion = textUntilPosition.match(/VALUE\\(('|").*('|")?\\)/);
    const attributeSuggestions = regexConstrcutCompletion ? autoCompleteAttributes : [];

    return attributeSuggestions;
  }

我也不允许使用反向正则表达式

0 个答案:

没有答案