2009-04-15 61 views
1

假设字符串为:如何形成这个表达式

string item = "t-ewrwerwerwerwer\r-rr\wrjkwlr"; 

我要全部替换 - 当它是由R开头时除外。

所以resut将

string cleanItem = "tewrwerwerwerwer\r-rr\wrjkwlr"' 

可使用哪些正则表达式?

+0

全部用什么取代? String.Replace可能就足够了,而不必创建一个正则表达式。 – 2009-04-15 19:10:54

回答

3

用空字符串代替(?<!r)-应该可以做到我想的。

2
(?<!r)- 

只要你的正则表达式风格支持零宽度后视,那就是。

4

我想这正则表达式是一个小更高效:

-(?<!r-) 

或者,如果你的语言不支持负向后看断言,可使用此表达:

(^|[^r])- 

并更换通过\1(第一匹配组)。