가능한 중복 :
예를 들어
RegEx: Find zero at end of string정규식 : 제로 찾기 문자열의 끝에서 소수점 앞에
: 나는 0 32.20
에서 찾을 하시겠습니까
320 또는 302에서 0을 찾고 싶지 않습니다.
고마워! 간단히 말해서
가능한 중복 :
예를 들어
RegEx: Find zero at end of string정규식 : 제로 찾기 문자열의 끝에서 소수점 앞에
: 나는 0 32.20
에서 찾을 하시겠습니까
320 또는 302에서 0을 찾고 싶지 않습니다.
고마워! 간단히 말해서
'.'을 0으로하고 싶지만 '.'는 포함하지 않으실 것 같습니다. 거기에있다. 이 경우 lookbehind 그룹이 필요합니다.
(?<=\.\d*?)\d$
사용중인 정규 표현식 엔진에 따라 다릅니다.
Here's some reference info on lookarounds.
UPDATE :
은 분명히 lookbehind ColdFusion에서 지원되지 않지만 대신 자바의 정규식 엔진을 사용할 수 있습니다. 위의 패턴을 사용하고 Java 정규식 엔진을 적용하는 방법은 this S.O. question에 대한 답변을 참조하십시오. 그 트릭을해야합니다.
참고 : \d
이 숫자 문자에 유효한 구문인지 다시 확인하거나 [0-9]
을 사용할 수 있습니다. 또한, 패턴 문자열이 건네지고 방법에 따라, 당신은 백 슬래시를 두 번해야 할 수도 있습니다 : 호환되지 않는 정규식 구현의 많은이 있습니다
"(?<=\\.\\d*?)\\d$"
RegEx 엔진이 해당 regEx를 인식하지 못합니다. ( – dmr
, 이것은 거의 모든 정규식 구현과 작동합니다 :
[.].*0$
당신은 같은 펄 더 잘 수행 할 수
\.\d*?0$ # A decimal point, followed by some number of digits ending with a 0
을 ...하지만,이 구문 월 또는 5 월 RegEx 엔진에 따라 작동하지 않습니다.
두 옵션 모두 소수점 이하의 다른 숫자도 제거한다는 것이 문제입니다. 난 그냥 마지막에 0을 없애고 싶다. – dmr
. 어느 쪽을 사용하고 있습니까? –
정확한 중복 (동일한 사용자) : [정규식 : 문자열 끝에 0을 찾습니다] (정확한 http://stackoverflow.com/questions/4737676/regex-find-zero-at-end-of-string) –
정확하지 않습니다. 복제. 지난 번에 "소수점 이하"에 추가하는 것을 잊어 버렸습니다. 나는 그 질문을 편집하지 않기로 결정했으나, 이미 몇 가지 대답을했기 때문에 새로운 것을 작성하기로했다. – dmr