2011-12-27 4 views
0

A, B, C, D와 같은 문자를 PHP의 preg_match 함수에 전달하고 싶습니다.
예>PHP에서 Regex에 Characters 전달하기

if (preg_match ("/^SEQRES.*\s$char\s.*/", $amino)) ; 

I 경기 통해 $ 숯과 루프, B, C, D를 전달하고자.
제게 해결책을주십시오.

+1

에 오신 것을 환영합니다을 스택 오버플로. '{}'도구 모음 버튼을 사용하여 소스 코드의 서식을 지정할 수 있습니다. 이번엔 내가 너 한테 해 줬어. –

+0

4 문자가 모두 일치해야하나요, 아니면 단 하나입니까? 많은 경우 해당 문자 조합을 허용해야합니까? 일치하는 캐릭터를 알아야합니까? – hakre

+0

$ char에 하나의 문자 만 놓습니다. 연결은 문제를 해결했습니다. 고맙습니다. – Geeky

답변

2

루프가 필요하지 않습니다. $char"[A-D]";으로 바꾸십시오. 공백으로 묶으므로 공백 사이의 [A-D] 클래스의 문자 하나와 일치합니다.

if (preg_match ("/^SEQRES.*\s[A-D]\s.*/", $amino)) ; 

당신은 그냥 문자열 연결을 사용 preg_match_all().

+0

대단히 감사합니다. – Geeky

2

을 사용하실 수 있습니다 :

$re = "/^SEQRES.*\s" . $char . "\s.*/"; 
if (preg_match($re, $amino)) 
    .... 
+0

감사합니다. – Geeky

0

를 사용하여 사용자 입력에서 문자를 얻는 경우 preg_quote :

$re = "/^SEQRES.*\s" . preg_quote($char) . "\s.*/"; 
관련 문제