我的代码是这样的:
string currentPageSlug = "securities/EBR#03L$ZZZ";
string patern= @"securities/(\w+)[\#\$]";
string res = Regex.Match(currentPageSlug, patern).Value;
Console.WriteLine(res);
给了我这个结果:
securities/EBR#
但我想得到:
securities/EBR#03L$ZZZ
整个单词包括所有特殊字符(#和$以及其他可能的字符) 我的正则表达式似乎不起作用。
答案 0 :(得分:1)
您的正则表达式匹配单词后跟单个特殊字符。您需要在重复的构造[#$]
中包含+
,如下所示:
string patern= @"securities/((?:\w|[#$])+)";
请注意,由于#
和$
在字符类中使用,因此无需使用反斜杠\
对其进行转义。