0

正则表达式从域\用户名获取域。我试过这个,但它返回整个字符串。

/^(.*?)\.\\/

我做错了什么?最终结果应该是域

4

3 回答 3

5

正则表达式对于这么小的钉子来说是相当大的锤子。只需使用IndexOf.

string domain = str.SubString(0, str.IndexOf('\\'));
于 2014-12-08T19:44:25.933 回答
0

^(.*?)\\

会给你域名\

^.[^\\]*

会给你域名

[^x] 为您提供除 x 和 \ 之外的所有内容,必须像 \\ 一样转义。

于 2014-12-08T19:44:45.060 回答
0

如果您坚持使用正则表达式,那么您做错的是您没有转义 \ (我也不确定为什么 . 存在)尝试

/^(.*?)\\.*$/

但是,对于这样一个简单的问题,您最好使用 .IndexOf 来查找 \,然后使用 .Substring 来返回它之前的所有内容。

于 2014-12-08T19:42:19.017 回答