2011-08-12 6 views
6

を使用して文字列内の文字列の複数の出現と一致する方法:私のようなHTML文字列がある場合はREG元

<div><p>£20<span class="abc" /><span class="def">56</span></p></div> 

をそして、私はテキストをしたい:

20<span class="abc" /><span class="def">56 

私はどのように定義しますターゲットセクションに複数回一致する正規表現。これまでのところ私が持っている:

str.match(/\d*<[^>]*>\d*/) 

しかし、これが唯一の最初/最後の桁を先頭または末尾に何かをトリミングしながら、私は、複数のタグ/数値セクションに合わせて柔軟にこれを必要とする最初の数セクション20<span class="abc" />

を返します。文字列に複数回にマッチする

+0

可能な複製[RegExはXHTML自己完結型タグを除くオープンタグにマッチする](http://stackoverflow.com/questions/1732348/regex-match-open-tags-except-xhtml-self-contained-tags) – Mark

+3

@マーク:This全く役に立たない。 BombDefusedが持つ問題は、正規表現には完全に適しています。 –

答えて

4

はグローバルオプション

/expression/g 
+2

これは彼の質問に答えていません。 –

1

を使用する必要があるために使用するだけでグループが繰り返されることを可能にする:(?:...)+は「... 1回以上一致意味:アランあたりとして

str.match(/\d+(?:<[^>]*>)+\d+/) 

ムーアの提案では、\d*\d+に変更し、オプションの代わりに必要な番号を付けました。

+0

あなたがいる間に、それぞれの '\ d *'を '\ d +'に変更してください。それは間違いであるはずです。 –

+0

@Alan:そうですね。ありがとう! –

関連する問題