1

私はhtmlコードを持っています:

<a href="localhost/1153,Test">  <img src="test.jpg">
(...)
<a href="localhost/1191,Test8">  <img src="test2.jpg">
(...)
<a href="localhost/9838,Test">  <img src="13.gif">
(...)

gif の前の値 (この例では 9838) と一致させたいと考えています。どのように試しても、最初の一致 (1153) になります。既知のパターンから「後方」に一致させる方法は?

4

4 に答える 4

0
\d*(?=,.*\.gif)

これは、前に最初に出現した数字に一致します

[comma][other text][.gif]

これはここでテストできます。

于 2013-07-23T11:09:29.540 に答える
0

C#では、次のことができます

Match theMatch = Regex.Match(source, pattern, RegexOptions.RightToLeft);

最後からマッチングを開始します。

于 2013-07-23T10:47:14.313 に答える
0

これに正規表現を使用することを主張する場合は、いくつかの境界条件を設定することをお勧めします。多かれ少なかれ似ているテキストのうち、一致させてはいけないものはどれですか?

そうは言っても、私は次のようなものに行くかもしれません

(\d+)[^"\d]+"[^"]+"[^"\d]+\d+\.gif

括弧で囲まれた最初の部分一致を抽出します ([^\d]あなたの言語では改行も数字も一致しないと仮定します; 私はあまり詳しくありません)。

于 2013-07-23T11:26:36.567 に答える