2017-10-11 1 views
0

제대로 정규식을 구하는 방법에 문제가 있습니다. 내가 필요로하는 것은 별표 (*) 뒤에 공백이오고 그 다음에 \ n이 아닌 문자가 오는 것입니다.PCRE에서 별표가 뒤따라 나오는 공백

예 (레딧 목록 형식과 유사) :

* Test 
* Test2 
* Test3 

는 내가 가진 가장 가까운이 있었다, 그러나 그것은 작동하지 않았다.

/^[*][ ](.*?)/s

는 PCRE에 익숙한 사람이 나를 도울 수 있습니다.

+1

s 수정 기호를 제거하고 (결국 m 수정 기호로 바꿉니다) '?'. 욕심 많은/욕심이없는 한정어에 대해 생각해보십시오. –

답변

0

정규식 끝 부분에 정규식 엔진이 오면 건너 뛸 것이고 그 뒤에 일치하는 것이 없기 때문에 어떤 단일 문자와도 일치하지 않으므로 정규식 끝 부분에 게으른 도트 패턴을 사용하면 안됩니다 빈 문자열은 .*?으로 일치합니다.

^\* (.*) 

regex demo

다른 정보를 참조하십시오 :

는 욕심 도트 패턴을 사용하면 패턴에 정규 공간 대신에 어떤 수평 공백을 맞게 \h를 사용할 수 있습니다. 행의 시작을 ^과 일치 시키려면 m 수정자를 사용하십시오. .을 사용하는 경우 ( 포함)과 일치하는 개행 (및 사용중인 PCRE 동사에 따라 캐리지 리턴)이 필요한 경우에만 s 수정자를 사용하십시오.

관련 문제