2013-07-19 2 views
0

Учитывая, как строки, как:RegEx, чтобы найти символы, начинающиеся и заканчивающиеся знаком хэштега/фунта?

"I #am# taking my big #brown# dog for a #walk# in the park" 

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

#am# 
#brown# 
#walk# 

Было бы хорошо, если бы игнорировать автономные хештегов (т.е. если он находит пространство перед следующим «#», пропустите его и найдите следующий матч).

Спасибо за любую помощь.

+2

Какой язык или инструмент? – squiguy

+0

также называется знаком числа, если вы не находитесь в США. – MyStream

+0

Я использую VB.NET. Думал, что это будет язык-агностик, но я могу ошибаться, т. – pseudoware

ответ

0

Используйте это регулярное выражение, чтобы захватить размеченные слова:

(?<=#)\w+(?=#) 

Это использует выглядят обходные для утверждают, но не захвата окружающие хэш символы.

Использование \w означает, что только буквы будут найдены (то есть хэши с пробелами с обеих сторон игнорируются)

Используйте смотри приложение перебирать матчей.

+0

Спасибо за ответ. Мой контент находится в xml. Мой вопрос заключался в том, чтобы избежать использования xslt, но в конце концов я закончил этот маршрут. – pseudoware

+0

Использование regex для XML - это минное поле. Какой-то инструмент XML, вероятно, нет – Bohemian

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