Regex split с разделением значения в результатах - PullRequest
1 голос
/ 09 ноября 2010

Я хочу разбить строку на части на основе регулярного выражения (\ $ \ 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+\$)*

Любая помощь очень ценится.

1 Ответ

1 голос
/ 09 ноября 2010

Попробуйте разделить скобками:

(\$\d+\$)

На некоторых языках захваченная группа добавляется в массив результатов.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...