我想检索数据字符串中以"$“开头、以"$”结尾的任何单词
sdfsdff $4rrrr2$。$spoif$ $1d4dd$
$(data)$之间的数据并不重要。
数据字符串的结果,即以"$“开头,以"$”结尾的4个单词。
我不知道我需要什么语法来创建它。
发布于 2015-12-15 10:39:52
因为您的字符串可能以美元开头和结尾,所以您需要确保采用不贪婪的方法。
var input = " $dsf$ ddd $4rrr2$. $spoif$ $1d4dd$";
var regexp = new Regex(@"\$(.*?)\$");
foreach (Match match in regexp.Matches(input))
{
     Console.WriteLine(match.Groups[1]);
}发布于 2015-12-15 10:35:37
假设您想要美元符号之间的,这个正则表达式将得到您想要的东西:
\$\w+\$如果您接受$$作为一个有效的结果,也可以这样做:
\$\w*\$要把它分解,这意味着:
\$文字字符$,而不是“string结束”的regex符号,它只是没有转义字符\的$。
\w -任何单词字符(不包括空白)
+或*指定单词字符数。+的意思是"1或更多“,*的意思是0或更多
我建议您在在线regex测试器上玩一玩,这样您就可以实时地看到regex在做什么,而不必编译和运行代码。尝试:
发布于 2015-12-15 10:31:35
您可以使用以下正则表达式:
\$\w*\$第一个和最后一个$有一个反斜杠来转义它们,因为它们是特殊的正则字符。
中间部分\w*匹配任何(单词、数字)零或多个字符。
https://stackoverflow.com/questions/34286489
复制相似问题