首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >以美元符号开头和结尾的单词的Regex ("$")

以美元符号开头和结尾的单词的Regex ("$")
EN

Stack Overflow用户
提问于 2015-12-15 10:17:37
回答 3查看 2.5K关注 0票数 0

我想检索数据字符串中以"$“开头、以"$”结尾的任何单词

sdfsdff $4rrrr2$。$spoif$ $1d4dd$

$(data)$之间的数据并不重要。

数据字符串的结果,即以"$“开头,以"$”结尾的4个单词。

我不知道我需要什么语法来创建它。

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2015-12-15 10:39:52

因为您的字符串可能以美元开头和结尾,所以您需要确保采用不贪婪的方法。

代码语言:javascript
运行
复制
var input = " $dsf$ ddd $4rrr2$. $spoif$ $1d4dd$";
var regexp = new Regex(@"\$(.*?)\$");
foreach (Match match in regexp.Matches(input))
{
     Console.WriteLine(match.Groups[1]);
}
票数 0
EN

Stack Overflow用户

发布于 2015-12-15 10:35:37

假设您想要美元符号之间的,这个正则表达式将得到您想要的东西:

代码语言:javascript
运行
复制
\$\w+\$

如果您接受$$作为一个有效的结果,也可以这样做:

代码语言:javascript
运行
复制
\$\w*\$

要把它分解,这意味着:

\$文字字符$,而不是“string结束”的regex符号,它只是没有转义字符\$

\w -任何单词字符(不包括空白)

+*指定单词字符数。+的意思是"1或更多“,*的意思是0或更多

我建议您在在线regex测试器上玩一玩,这样您就可以实时地看到regex在做什么,而不必编译和运行代码。尝试:

https://regex101.com/r/jM6lK6/2

票数 2
EN

Stack Overflow用户

发布于 2015-12-15 10:31:35

您可以使用以下正则表达式:

代码语言:javascript
运行
复制
\$\w*\$

第一个和最后一个$有一个反斜杠来转义它们,因为它们是特殊的正则字符。

中间部分\w*匹配任何(单词、数字)零或多个字符。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/34286489

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档