我有这样的文字
#-cmd1-#Hakona Matata#-cmd2-#
我想获取所有类似于#-TEXT-#
的值这是我使用的代码,但仅在出现一次的情况下有效
var text = "#-adsfree-# hakona matata #-adsbottom-#";
Regex regex = new Regex("#-(.*)-#");
var v = regex.Match(text);
string s = v.Groups[1].ToString();
答案 0 :(得分:1)
我猜您可能正在设计一个表达式,也许类似于:
(?<=#-)\b(\w+)\b(?=-#)
using System;
using System.Text.RegularExpressions;
public class Example
{
public static void Main()
{
string pattern = @"(?<=#-)\b(\w+)\b(?=-#)";
string input = @"#-adsfree-# hakona matata #-adsbottom-#";
RegexOptions options = RegexOptions.Multiline;
foreach (Match m in Regex.Matches(input, pattern, options))
{
Console.WriteLine("'{0}' found at index {1}.", m.Value, m.Index);
}
}
}
如果要浏览/简化/修改该表达式,请在this demo的右上角进行解释。