다음은 PHP 또는 JavaScript 소스 코드 (this post)의 문자열을 일치시키기위한 PHP 정규 표현식입니다.하지만 문제가 있다고 생각됩니다. 리터럴 파이썬 (또는 그렇지 않은 경우 PERL)은 무엇입니까?이 PHP 정규 표현식의 목적을 Python/PERL로 번역
~'(\\.|[^'])*'|"(\\.|[^"])*"~s
- s modifier는 점은 줄 바꿈을 포함한 모든 문자를 일치 의미; 파이썬에서 그게
re.compile(..., re.DOTALL)
- 나는 완전히
\\.
의 의도를 얻지 못합니까? 그게.
으로 줄어들습니까? 이중 백 슬래시는 PHP에서 두 번 이스케이프 처리해야합니까?\\.
또는[^']
(비 - 인용 자) 중 하나의 일치 의 모든 위치를 수 이 사람의 정규식이 불면 왜 어쩌면 설명하고, 나에게 총 과잉을 보인다.
[^']
그룹이 s 수정자를 사용하는.
에있는 모든 항목과 일치하지는 않으므로 반드시 일치해야합니다. 파이썬에서, 싱글, 큰 따옴표로 정규식의 두 가지 버전을 구성하는이 정규식의 간단한 버전이 list of PHP regex examples, under Programming: String에서 찾을 수 있습니다 this two-step approach
NB를 사용할 수 있습니다.
나는 단지 질문을 다시 읽고 지금 혼란 스럽다. 그 다른 스레드에서 당신은 시스템이 정지되거나 충돌 할 수있는 정규 표현식을 찾고 있었고,이 정규식은 답변 중 하나였습니다. 이 시간이 지나면 너 뭐야? 정규식을 향상 시키길 원하십니까? 아니면 PHP에서와 같이 파이썬에서 문제가 발생했는지 알고 싶습니까? –
@Alan,이 질문은 정확히 말합니다 :이 사람의 PHP 정규 표현식의 의도, 즉 정확히이 정규 표현식이 일치하는 여러 줄의 문자열을 설명하십시오. 그게 다야. – smci