javascript - 带有 2 个不同文本的正则表达式
问题描述
我有一个编辑器,在编辑器中我必须找到匹配项并用预定义的文本替换特定的文本,或者只找到匹配项。
假设我有这样的文字
if (VALUE('Name') == 'Jhon Doe') {
SET_VALUE('Jhon Abraham');
} else if (VALUE('Address') == '512 Lane') {
SET_VALUE('Whitehouse lane')
}
我有这 2 个正则表达式,但这失败了
/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;
}
我也不允许使用反向正则表达式
解决方案
推荐阅读
- php - 未在浏览器中设置 Cookie [PHP]
- python - 通过 URL 访问的 Django 错误端点
- html - 如何修复具有固定尺寸的行网格视图产品?
- reactjs - 在没有 NavLink 的情况下更改反应路线
- c# - 如何在 Xamarin Android 中清除 EditText
- angular - 有没有办法在两个具有单独登录页面的域上部署 Angular 应用程序?
- c# - 同步上下文
- c - strtok() 和分段错误
- spring-boot - Spring Cloud Stream GCP如何重新排队失败的消息
- ios - 使用 UIActivityViewController swift 3/4 分享图像 instagram 有警报控制器错误