2010-05-03 1 views
1

preg_match에 - 문자를 어떻게 추가합니까?preg_match 문제

preg_match('#^(\w+/){0,2}\w+\.\w+$#', $string)

그러나 문자열에서 마지막으로 . 이전이어야합니다. 나는 여기서 내가 아는 모든 것을 시도했다. -을 이스케이프 처리해야한다는 것을 알고 있습니다. 그래서 다양한 장소에서 그것을 탈출을 시도하지만,

argggg :(작동하지 않습니다

+0

대시는 문자 클래스에서만 사용할 수 있습니다. 예 :'[az]' – Joe

답변

3

대시 이스케이프 될 필요가 있다는 귀하의 knowlegde가 완전하지 않습니다.

이 글은 탈출 할 필요가
preg_match('#^(\w+/){0,2}\w+-\.\w+$#', $string) 

character classes은 여기에 특별한 의미가 있기 때문에 다른 정규 표현식에서는 특별한 의미가 없으므로 여기서 벗어날 필요가 없습니다.

+0

죄송합니다. , 이것은 전혀 작동하지 않습니다. – SoLoGHoST

+0

질문이 불완전합니다. 일치시키고 자하는 문자열을 게시하십시오. – Tomalak

+0

죄송합니다. 정상적으로 작동한다고 생각합니다.이를 확인하는 가장 좋은 방법은 무엇입니까? 반환 == 1 일 경우? 그게 효과가 있니? 얼마나 많은 성냥을 반환합니까? 또는 모든 성냥에 대해 1을 반환합니까? – SoLoGHoST