내가 필드시 확인하려면이 정규식을 사용정규 표현식은 도시 이름이
"[a-zA-Z]+[[ '-]?[a-zA-Z]+]*"
을하지만 같은 이름으로도 잘 작동합니다
산트 '' '' '안젤로
Andria --------- Barletta
특수 문자 "", " '"및 "-"를 단어는 단 하나뿐이어야합니다. 예를 들어 :
탄 - 데이 롬바르디
이 좋은,하지만해야합니다
산트 '' '안젤로 --- 데이 롬바르디
내가 필드시 확인하려면이 정규식을 사용정규 표현식은 도시 이름이
"[a-zA-Z]+[[ '-]?[a-zA-Z]+]*"
을하지만 같은 이름으로도 잘 작동합니다
산트 '' '' '안젤로
Andria --------- Barletta
특수 문자 "", " '"및 "-"를 단어는 단 하나뿐이어야합니다. 예를 들어 :
탄 - 데이 롬바르디
이 좋은,하지만해야합니다
산트 '' '안젤로 --- 데이 롬바르디
반복에 괄호를 사용하려고합니다.
[a-zA-Z]+(?:[ '-][a-zA-Z]+)*
당신이 시도 무엇
([[ '-]?[a-zA-Z]+]
)을 효율적으로 [a-zA-Z?+ '-]
에 해당되고, [ '-]
, ?
, [a-zA-Z]
및 +
가 포함 된 문자 클래스를 의미한다. 다른 부분의 서브 패턴은 (
및 )
로 구분되며 ?:
은 비 캡처 링으로 약간의 최적화입니다.
사용이 코드는 도시의 유효성을 검사 :
public static boolean validateCity(String city)
{
return city.matches("([a-zA-Z]+|[a-zA-Z]+\\s[a-zA-Z]+)");
}
미국인들이 당신을 좋아하지 않을 것이다, 당신의 정규 표현식은'D.C.'를 허용하지 않습니다 :) – biziclop
그것은 사실이다. 약간의 변경 후, 이제는 미국인도 좋아합니다 :) – Hoper