[英]C# Regex extract value between string multiple occurrences
我有這樣的文字
#-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();
我猜您可能正在設計一個表達式,可能類似於:
(?<=#-)\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);
}
}
}
如果您想探索/簡化/修改該表達式,請在此演示的右上方面板中進行解釋。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.