作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
以下面的字符串为例,我应该使用什么模式来提取我需要的所有字符串实例?所以,采取:
string Text = @"Dear {Customer.Name},
Lorem ipsum dolor sit amet, {Customer.FirstName}";
并提取 {Customer.Name}
和 {Customer.FirstName}
?作为奖励,可以在提取过程中删除 {
和 }
吗?
我正在研究 LinqPad,我有 new Regex("{[A-Za-z0-9.]+}", RegexOptions.Multiline).Match(Text)
到目前为止,但它只匹配 {Customer.Name}
的第一个子字符串。
我在正则表达式方面遇到很大挑战,所以我很感激详细的帮助。
提前致谢!
最佳答案
您的正则表达式看起来不错。唯一的问题是,您需要调用 Matches
而不是 Match
来获取输入字符串中的所有匹配项。
你可以把你想要的部分放在一个子组中,然后在进一步的处理中只使用这个子组:
var matches = Regex.Matches(Text, "{([A-Za-z0-9.]+)}", RegexOptions.Multiline);
foreach(Match match in matches)
{
var variable = match.Groups[1].Value;
}
关于c# - 如何在 C# 中将模式与正则表达式匹配,以应对正则表达式的挑战?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5974470/
我是一名优秀的程序员,十分优秀!