15
"-dhello;-egoodbye;-lcul8r" -replace "-d.*;","-dbonjour;"

给出:

-dbonjour;-lcul8r

有可能不让它摆脱goodbye吗?

4

2 回答 2

30

您应该使用?.

采用:

"-dhello;-egoodbye;-lcul8r" -replace "-d.*?;","-dbonjour;"
于 2013-03-06T12:00:13.427 回答
8

始终明确。.*匹配它可以匹配的所有内容(包括分号和后面的所有内容),但您只想匹配到下一个分号,所以只需告诉正则表达式引擎:

"-dhello;-egoodbye;-lcul8r" -replace "-d[^;]*;","-dbonjour;"

[^;]匹配 分号以外的任何字符。

于 2013-03-06T12:02:53.090 回答