0
인사말.반복이있는 간단한 정규 표현식은 나를 곤란하게한다.
단순한 문제로 인해 저를 곤란하게했습니다. 여기 사람들은 매우 도움이됩니다.
일부 고정 텍스트와 임의 숫자가 포함 된 문자열을 찾으려고합니다.
echo blah blah abc123 | grep -o abc
abc
echo blah blah abc123 | grep -o abc[0-9]
abc1
echo blah blah abc123 | grep -o abc[0-9]+
echo blah blah abc123 | grep -o "abc[0-9]+"
echo blah blah abc123 | grep -o "abc[0-9]*"
abc123
echo blah blah abc123 | grep -o abc[0-9]{3}
echo blah blah abc123 | grep -o "abc[0-9]{3}"
* 연산자 (0 번 이상 일치)가 예상 한대로 작동하는 유일한 연산자입니다.
왜 + 연산자 (1 회 이상 일치)가 일치하지 않습니까?
특정 반복 횟수 연산자 {3}이 (가) 일치하지 않는 이유는 무엇입니까?
나는 차이를 만드는 경우 우분투 10.10 아래의 bash 셸에서 이러한 예제를 실행하고 있습니다.
고마워요.
이제 grep 맨 페이지의 의미를 이해합니다. "기본 정규 표현식에서?, +, {, |, (,))는 특별한 의미를 잃지 만 백 슬래시 버전은 \ ?, \ +, \ {, \ |, \\ (및 \\) " – OddZon
BTW, 정말 stackoverflow 싶습니다. – OddZon
문제는, 기본적으로'grep'은이 제한된 버전의 regexen을 사용한다는 것입니다. 'egrep' 또는'grep -E'를 사용하여 원하는 정규식 구문을 얻으십시오. –