如何替换不在引号中的字符串
How to replace a string which is not in quotes
im在以下场景中挣扎,我有一个多行字符串,里面有多次单词test,字符串是:
Hello my name is "test" im a test
test is testing
我需要替换所有不在引号中的测试字符串每个找到的字符串后面都应该至少有1个空格或换行符,而不是其他任何字符,所以上面的字符串将转换为:
Hello my name is "test" im a HELLOWORLD
HELLOWORLD is testing
测试字符串也可以用空格作为前缀,但也不能没有空格。
我已经发现了一种只替换不在引号内的字符串的方法:
str.replace(/(test)(?=(?:[^"]|"[^"]*")*$)/, 'HELLOWORLD')
森博迪能帮我找到其他规则吗?
('btest'b)(?=(?:[^"]|"[^"]*")*$)
试试这个。请参阅演示。
https://regex101.com/r/pT4tM5/28
您可以使用:
var str = 'Hello my ''test'' name is "test" im a test'ntest is testing';
var repl = str.replace(/("[^"]*"|'[^']*')|'btest'b/g, function($0, $1) {
return ($1 == undefined) ? "HELLOWORLD" : $1; });
输出:
Hello my 'test' name is "test" im a HELLOWORLD
HELLOWORLD is testing
相关文章:
- 如何在javascript中用字符串变量替换一段文本
- Javascript RegExp - 匹配字符串并替换
- 无法从字符串中替换 (TAB)
- 将字符串值替换为变量
- JavaScript:从字符串中替换 ↵
- JavaScript 字符串将 ( 替换为 (.
- JS字符串仅替换每隔一次
- Javascript/Jquery 获取子元素,减去字符串并替换
- 如何在另一个字符串之前替换字符串
- 在 JavaScript 字符串中将“-”替换为“--”
- 如何创建字符串“;替换所有“;作用
- 使用字符串的替换方法时是否有长度限制
- javascript/jQuery查找所有字符串并替换-但是
- JavaScript ReGeX:在两个字符串之间替换匹配的字符串
- 如何在Javascript中基于字符串值替换背景颜色
- 用解析的查询字符串对象替换HTML文本
- 我如何在js字符串中替换[0][0]的内容
- Javascript字符串格式化-替换保存在变量中的字符串
- Emacs -用另一个字符串模式替换一些字符串模式
- 如何在查询mongodb时将字符串值替换为斜杠