Coolx World - Computer ???
정규표현식의 최소일cl (non-greedy match) (Linux)
2015-10-14 12:18 - swindler
보통 정규표현식을 사용할때

.*| 이렇게 표현을 하는데,

. : 아무 문자
* : 아무갯수

즉 아무문자뒤에 | 나오는 곳을 가리키게 되는데,
한줄에 여러개의 |가 나오는 경우 제일 뒤까지 찾게 된다.



근데 보통 첫번째 나오는곳까지 찾아야 하는 경우가 있는데, 이것이 최소일치이다.

vi에서는
^.\{-}| 과 같이 찾는다.
즉, \{-} 이 최소일치이다.

앞에 ^가 없으면 줄 처음부터 찾지 않으니까 원하지 않는 결과가 나타난다.
swindler - 2016-01-27 11:16
java replaceAll 에서는 .*?과 같이 사용한다.
.* -> .*? (최소일치)
Copyright © 1999-2020, swindler.

  2HLAB   2HLAB_Blog   RedToolBox   Omil   Omil_Blog