정규식, 특히 더 복잡한 수식에 대해 머리를 쓰는 데 다소 어려움이 있습니다.Regexp 짝수 백 슬래시 (PHP)
현재 나는 자신의 마크 업 언어를 작성 중이며 도망치기가 어렵다. 나는 각각의 특수 문자가 "탈출"이되기를 바란다. 즉, *bold*
이 나에게 <b>bold</b>
을 줄 것이라면, \*bold\*
은 그대로 두어야한다. 그래서 백 슬래시를 나중에 제거 할 수는 있지만 정규 표현식을 생각할 수 없다. 이 아이디어를 전달합니다. 그 앞에 숫자 또는 BSes도 경우
- 왼쪽 별표;
어떻게 세 그룹을 선택할 수 있습니다 - 별표 사이의 콘텐츠;
- 앞의 BS 수가 짝수 인 경우 오른쪽 별표가 표시됩니다.
정규 표현식 1 개? PHP의 preg_replace
을 준수해야합니다.
이 \\*(\*)\S(.)+?\S\\*(\*)
은 별표와 내용을 세 그룹으로 선택하지만 '균등성'과 물건을 확인하지는 않습니다.
UPDATE :
두 번째 단락은 더 나은 내가 (완전히되었다 변경이 점을 놓친 때문에 더 이상 수정하지 마십시오) 무엇을 의미하는지 설명하기 위해 변경되었습니다.
더 쉽게 작업 할 수 있다면, 이중 백 슬래시를 다른 문자로 구문 분석 할 수 있으므로 별표 앞에 백 슬래시가 하나만 있는지 확인하면됩니다. 에 대해
'\\ * bold \\ *'은'* bold * '을 생성합니까? – kennytm
RegEx가 아닌 * 파서 *의 작업과 비슷합니다. – deceze
@KennyTM 고정, 고맙습니다! @deceze 나도 몰라, Regexps가 사람들이 때때로 그들과 함께하는 마법의 것들을 생각할 때 그것이 가능하지 않아야하는 이유를 모르겠다. – Maurycy