bash를 사용하여 regex에 대한 고급 정규식 정보를 찾고 있었지만 많은 정보를 찾지 못했습니다.bash에서 regex를 사용하는 문자열에서 여러 일치가 발생했습니다
여기에 개념은 단순한 문자열로,이다 :
myString="DO-BATCH BATCH-DO"
if [[ $myString =~ ([[:alpha:]]*)-([[:alpha:]]*) ]]; then
echo ${BASH_REMATCH[1]} #first perens
echo ${BASH_REMATCH[2]} #second perens
echo ${BASH_REMATCH[0]} #full match
fi
outputs:
BATCH
DO
DO-BATCH
그래서 그것을 잘 수행하는 첫 경기 (BATCH-DO)하지만 두 번째 경기를 당겨 어떻게 (DO-BATCH)? 난 그냥 빈 여기 그리기 및 bash 정규식에 대한 많은 정보를 찾을 수 없습니다.
"DO-BATCH"가 문자열에 나타나지 않으므로 묻는 것이 명확하지 않습니다. 그러나'$ {BASH_REMATCH [3]} '을 "BATCH"등과 같게하고 싶습니까? – chepner
올바른 결과 ... 죄송합니다. $ {BASH_REMATCH [3]} == "BATCH"와 $ {BASH_REMATCH [4]} == "DO" –