2012-06-27 4 views
1

У меня есть строка, что это в этой форме:Получить все вхождения подстроки соответствия шаблона

"Some text [asd](fgh) Lorem Ipsum [qwert](y)" 

Вы могли бы признать это как синтаксис уценки.

Я хочу, чтобы заменить все вхождения образца со ссылками, как это:

<a href="fgh">asd</a> 

Что бы лучший способ сделать это? Я могу сделать фактическую замену без проблем, но я не уверен, как идентифицировать подстроки. Я подозреваю, что регулярное выражение - это путь?

Заранее благодарим за помощь!

+1

Если вы считаете, что регулярное выражение является единственным способом пойти, то я думаю, что вы должны предоставить реальные примеры. Регулярные выражения имеют высокую степень охвата. – npinti

+0

Черт, я испортил форматирование, и я был АФК в течение нескольких часов, поэтому я до сих пор не поймал его. –

ответ

2

Да, я думаю, что регулярное выражение OK здесь:

resultString = Regex.Replace(subjectString, 
    @"\[  # Match [ 
    (  # Match and capture in group 1: 
    [^][]* # Any number of characters except brackets 
    )  # End of capturing group 1 
    \]  # Match ] 
    \(  # Match (
    (  # Match and capture in group 2: 
    [^()]* # Any number of characters except parentheses 
    )  # End of capturing group 2 
    \)  # Match)", 
    "<a href=\"$2\">$1</a>", RegexOptions.IgnorePatternWhitespace); 
+0

Это работает как шарм! Большое спасибо! –

Смежные вопросы