【发布时间】:2015-05-24 03:01:38
【问题描述】:
我在以下情况下苦苦挣扎,我有一个多行字符串,里面有多个单词 test,字符串是:
Hello my name is "test" im a test
test is testing
我需要替换所有不在引号中的测试字符串 每个找到的字符串后面应该至少有 1 个空格或一个换行符,而不是其他任何东西,所以上面的字符串将转换为:
Hello my name is "test" im a HELLOWORLD
HELLOWORLD is testing
test -string 也可以在前面加上空格,但也不能没有。
我已经发现了一种只替换不在引号内的字符串的方法:
str.replace(/(test)(?=(?:[^"]|"[^"]*")*$)/, 'HELLOWORLD')
有人能帮我找出其他规则吗?
【问题讨论】:
-
我也想包含单引号,所以“test”和“test”都不会被替换
标签: javascript regex string replace quotes