나는 첫 번째 문자는 [a-zA-Z0-9]와 경우 [[$ 문자열이 아닌 경우 다음과 같은 기능배쉬 정규식 비교 문제
checkFormat()
{
local funcUserName=$1
if [[ "$funcUserName" != [a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9] ]];then
echo "1"
else
echo "0"
fi
}
if [[ $string != [a-zA-Z0-9]* ]]
만 true를 반환해야! = [A-zA- Z0-9] {5}]]
절대로 true를 반환합니다.
if [[ $string != [a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9][a-zA-Z0-9] ]]
원하는대로 반환하십시오. 이유가 무엇인가요?
코드는 사용자 이름이 5 자이고 영숫자 (예 : Joe12 또는 12345) (% $ 134 제외)인지 확인하는 것입니다.
bash는 버전 4.2.37
좋은 점은 샘플 입력 (좋음과 나쁨 포함)을 포함해야한다는 것입니다. 행운을 빕니다. – shellter
실제로 regex를 확인하고 싶습니까? 몇 가지 예를 들면 –
이것은 정규식이 아닙니다. 그것은 globs라고 불리는 다른 종류의 패턴입니다. 그들은 비슷하게 보일 수 있지만, 동일하지는 않습니다. –