如何匹配前瞻中的字符串结尾?

时间:2012-01-18 12:59:02

标签: c# .net regex

为什么这不匹配以及如何使其有效?

Regex.Match("qwe", ".*?(?=([ $]))");

我应该将所有内容与第一个空格或行尾相匹配。

2 个答案:

答案 0 :(得分:4)

你的具体问题是你需要使用一个替换,而不是一个字符类,因为在一个字符类中,$符号的字面意思是“匹配一个美元符号”,并且它没有特殊含义的结尾。那个背景。

( |$)
然而,似乎你的例子有点奇怪。匹配除空格之外的任何字符会更简单,那么根本不需要前瞻。

答案 1 :(得分:2)

尝试:

Regex.Match("qwe", "^([^ ]*)");