2011-06-08 175 views
0

我希望有人能够帮助我在javascript中找到合适的正则表达式,满足以下语句的要求。我已经尝试了一些表达式,但在搜索中包含星号字符作为字符文字会使事情复杂化。需要正则表达式的帮助

定的字符串str,匹配并用正确的转义序列替换星号字符出现的所有把它当作字符文字,却忽略包含在字符串中像这样的序列中的任何星号:< *>

任何帮助,非常感谢。 丹尼尔

+4

你试过什么样的表情? – 2011-06-08 10:03:34

+0

给我们一些例子,说明你想要匹配什么,你不想匹配什么(以及你当然试过的东西;)) – stema 2011-06-08 10:13:12

+1

听起来像你要求我们为你做作业或面试作业。 – 2011-06-08 10:15:34

回答

0
var x='xx**<*>*><*<*>>>*'; 
    x=x.replace(/(<)?\*(>)?/g, function($0, $1 ,$2){ 

     return $1 ? $2 ? $0 : 'y' : $2 ? 'y' : 'y'; 
}); 
alert(x); 

http://jsfiddle.net/yDT25/

0

如果它正是你必须避免在更换*(和你正在使用PCRE等),那么你可以使用类似的<*>序列: /(?<!<)\*(?!>)/

+1

javascript不支持lookbehinds – amal 2011-06-08 10:59:17

+0

该死的js,没有注意到标签。 – Qtax 2011-06-08 11:09:15