2011-08-31 72 views
0

'世界你好 “你好”'。代替(正则表达式, “HELLO”) => 'HELLO世界 “你好”'写一个正则表达式来替代像c宏一样的字符串?

如何写这个正则表达式仅替代 '你好',这是不是在报价?

+0

从那个语法我猜你使用Javascript。你应该用你使用的编程语言来标记你的问题,因为并非所有的正则表达式引擎都是平等的。 – Paulpro

+1

你的语言程序是什么? – Kakashi

+0

这是一个很难用一般情况下的正则表达式解决的经典问题。你需要能够处理双引号字符串中的双引号(例如,反斜线转义)吗?外? – tripleee

回答

0

假设你正在使用Javascript:

'hello world "hello"'.replace(/($|[^"])hello(?!")/g,'$1HELLO'); 
+0

如果在hello的任何一方有报价,例如'hello hello“hello''会变成'hello hello hello'',而OP希望中间的hello被替换,这个案例。 – Dani