Разделяне на Regex с разделена стойност в резултатите

Искам да разделя низ на части въз основа на регулярен израз (\$\d+\$), но също така искам да знам каква е стойността на тези точки на разделяне. Така например, ако имате низа:

<option value="beholder" selected="selected">$33685$</option>
<option value="gnuchess_fancy">$33687$</option>
<option value="gnuchess_simple">$33689$</option>
 | $29000$
<option value="beholder">$33671$</option>
<option value="gnuchess_fancy">$33673$</option>

Искам да го разделя така, че резултатите да станат отделни части:

o <option value="beholder" selected="selected">
o $33685$
o </option><option value="gnuchess_fancy">
o $33687$
o ......

Разделянето с регулярния израз \$\d+\$ ми дава само първия и третия елемент от горния списък, докато искам всички елементи.

Езикът за програмиране, разбира се, няма значение, става дума за регулярния израз и как да се раздели (или съпостави).

Също така се опитах да намеря съответствие със следните регулярни изрази, но без успех

\$\d+\$|.*?
.*?|\$\d+\$
.*?\$\d+\$.*?
(.*?|\$\d+\$)*

Всяка помощ е много ценена.


person Henri    schedule 09.11.2010    source източник
comment
Езикът за програмиране, разбира се, няма значение - Има значение. Синтаксисът е различен на всеки език. Какъв език използвате? Или искате хората да предложат език?   -  person Mark Byers    schedule 09.11.2010
comment
Преди някой друг да го напише, прочетете този отговор: stackoverflow.com/questions/1732348/   -  person Sean Patrick Floyd    schedule 09.11.2010
comment
@Mark, лошото ми в този случай, използвам го в комбинация с .NET.   -  person Henri    schedule 09.11.2010
comment
@seanizer, не се опитвам да анализирам HTML с регулярен израз :) благодаря за връзката все пак   -  person Henri    schedule 09.11.2010
comment
сигурен си. низът е HTML и вие се опитвате да го разделите с помощта на Regex.   -  person Sean Patrick Floyd    schedule 09.11.2010


Отговори (1)


Опитайте да разделите със скоби:

(\$\d+\$)

На някои езици заснетата група се добавя към масива с резултати.

person Kobi    schedule 09.11.2010
comment
Страхотно, точно от това имах нужда :) Благодаря много! - person Henri; 09.11.2010
comment
Благодаря! Вече проверих маркерите си - в .net трябва да работи както е. На php трябва да добавите флага PREG_SPLIT_DELIM_CAPTURE. - person Kobi; 09.11.2010