0

私はパターンを一致させようとしています:

show_clipping.php?CLIP_id=*

から:

a href="javascript:void(0);" onclick="MM_openBrWindow('show_clipping.php?CLIP_id=575','news','scrollbars=yes,resizable=yes,width=500,height=400,left=100,top=60')">some text</a>

どこ

*

数値のみにすることができます(例:0、1、1234)

結果はすべてを返す必要があります(show_clipping.php?CLIP_id=575

私が試したこと:

show_clipping.php\?CLIP_id=([1-9]|[1-9][0-9]|[1-9][0-9][0-9])

しかし、私の試みでは、残りの数字を575から切り捨てて、次のような結果を残しました。

show_clipping.php?CLIP_id=5
  1. 数値部分を正しく一致させるにはどうすればよいですか?
  2. もう1つの問題は、値575に任意の数値を含めることができることです。正規表現は、3桁を超えると機能しません。無限の桁数で機能させるにはどうすればよいですか?
4

5 に答える 5

2

使用している言語を指定しなかったので、ここに示しますregex

'([^']+)'

説明

'       # Match a single quote
([^`])+ # Capture anything not a single quote
'       # Match the closing single quote 

つまり、基本的にはすべてを一重引用符で囲み、show_clipping.php?CLIP_id=5最初のキャプチャグループに含まれます。

ここでアクションを参照してください。

キャプチャするだけshow_clipping.php?CLIP_id=5'(.*CLIP_id=[0-9]+)'

'        # Match a single quote 
(.*      # Start capture group, match anyting
CLIP_id= # Match the literal string
[0-9]+)  # Match one of more digit and close capture group
'        # Match the closing single quote
于 2012-12-01T11:10:07.130 に答える
1

これはどうですか?

onclick.match(/show_clipping\.php\?CLIP_id=\d+/)
["show_clipping.php?CLIP_id=575"]

(質問のタグから、JavaScriptを使用していると思います)

于 2012-12-01T11:32:27.010 に答える
1

回答:^(0 | [1-9] [0-9] *)$前に回答: 数値の正規表現パターン

(回答番号6)

于 2012-12-01T11:15:30.557 に答える
0
show_clipping.php\?CLIP_id=(\d+)

\d数字に一致し、+1つ以上を意味します。

于 2012-12-01T11:12:00.380 に答える
0

どうですか:

/(show_clipping.php\?CLIP_id=[1-9]\d*)/
于 2012-12-01T11:13:03.433 に答える