정규 표현식에서 (?s)의 뜻.
조회수 3957회
-
(•́ ✖ •̀)
알 수 없는 사용자
3 답변
-
Singleline modifier네요.
제가 써 본 regex(정규표현식)에서는
/정규표현식/s
이렇게 modifier를 제일 뒤에 붙였었는데 괄호하고 물음표 다음에 써도 되나봅니다.
Single line modifier를 쓰면 .(all)에 new line이 포함됩니다.
Modifier는 정규표현식의 옵션정도로 생각할 수도 있겠을것 같아요.
- 감사합니다~ 알 수 없는 사용자 2016.3.13 20:43
- 이 링크 참고하세요. http://www.regular-expressions.info/modifiers.html 알 수 없는 사용자 2016.3.13 22:08
-
정규식의
.
은 기본적으로 개행문자와는 매치가 되지 않습니다. 이것을 해제/설정하는 플래그가s
플래그입니다. (설정시에는 그냥s
를 사용하고, 해제시에는(?-s)
처럼-
를 앞에 붙입니다)따라서
code = re.compile("(?s)/\*.*?\*/")
라는 정규식 컴파일은code = re.compile("/\*.*?\*/", java.util.regex.Pattern.DOTALL)
과 같습니다.참고(영문): http://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html#DOTALL
-
(•́ ✖ •̀)
알 수 없는 사용자
-
-
사용하는 배경을 알 수 있을까요? (?s)는 처음보는것 같네요. 괄호와 물음표의 조합이라면
(?P <name> regex)
조합인 capturing group는 본 적이 있는데요.- http://codingdojang.com/scode/399 중 code = re.compile("(?s)/\*.*?\*/").sub("", code) 같은 표현들이 있습니다. 알 수 없는 사용자 2016.3.13 18:17
댓글 입력