2012-12-01 4 views
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. 또 다른 문제는 값 575, 내 정규식 3 자리 숫자 후 작동하지 않습니다 모든 숫자 값을 포함 할 수 있다는 것입니다, 어떻게하면 당신은 어떤 언어를 지정하지 않은

답변

2

자리 infinit 금액과 함께 작동하도록 마십시오 이시에서 모든 것을 캡처 그래서 기본적으로

'([^']+)' 

설명

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

: 그래서 여기에 사용하는 것은 단지 regex입니다 따옴표 붙이기, 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 
+0

는 내가 첫 번째 그룹에 결과를 제한 할 수 있습니다? – tom91136

+0

예, 업데이트를 참조하십시오. –

0
show_clipping.php\?CLIP_id=(\d+) 

\d가 숫자와 일치 할 것입니다 만 show_clipping.php?CLIP_id=5를 캡처하기위한 조치 here.

를 참조하고, + 1 또는 그 이상을 의미합니다.

0

방법에 대해 :

/(show_clipping.php\?CLIP_id=[1-9]\d*)/ 
1

어떨까요?

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

(질문의 태그 나 자바 스크립트를 사용하는 가정에서)

관련 문제