2011-09-03 3 views
-1

I는 :num: 될 수 max_length[:num:] 같은 일부 스트링이 임의의 수, 즉 (max_length[50] 또는 max_length[100] 등).는 preg_match "MAX_LENGTH의 [를하여 num :]"

PHP에서 이러한 문자열의 preg_match 코드는 무엇이 될까요? 와

+1

-1 . – Hnatt

+2

@Hnatt : 문제가 아니라 문제에 투표하십시오. –

+0

나는했다. 왜이 질문에 -1을 얻었는지 Pawan에게 설명했습니다. 그래서 그가 downvoted되는 이유를 물어 보는 사람이 downvote 경우 의견을 추가하는 것이 좋습니다. – Hnatt

답변

2

이 시도 :

'/max_length\[(\d+)\]/' 

\d+은 하나 이상의 숫자와 일치합니다.

당신의 캐릭터는이를 포함해야하는 경우, 대신 하나를 사용

'/^max_length\[(\d+)\]$/' 

당신은 다음과 같이 사용할 수 있습니다 :

$string = 'max_length[123]'; 
if (preg_match('/max_length\[(\d+)\]/', $string, $match)) { 
    $number = $match[1]; 
} 

는 여기를보십시오 : 게으름에 대한 http://ideone.com/a9Cux

+1

작은 따옴표를 사용하는 것이 좋습니다. 확인차. –

2

보십시오 :

/max_length\[([0-9]+)\]/ 

// EDIT Tomalak Geret'kal가 언급 한 바와 같이, 이것은 또한 일치와 같은 문자열 : 당신이 $ foo는 = 같은 단지 문자열을 일치 시키려면

aaa_max_length[100] 

'MAX_LENGTH은 [100]'당신의 정규 표현식은 다음과 같다

/^max_length\[([0-9]+)\]$/ 
+1

시작과 끝 앵커를 잊지 마십시오. –

+1

귀하의 조언을 포함하도록 편집했습니다 – Qualcuno

+1

그리고 구분 기호를 포함 해 주셔서 감사합니다. 많은 사람들이 귀찮게하고 싶지 않습니다. < –