Regex 추출 숫자 및 소수열이 있고 각 행의 문자열에서 숫자를 추출해야 합니다. 숫자는 소수이거나 아닐 수 있습니다.
이 공식을 사용하고 있습니다: Regex( :PIPE_LENGTH, "[^(\d+\.\d+)]", "", globalreplace )
예:
문자열: 길이 = 3.5".요한이 완성했습니다.
예상: 3.5
실제: 3.5..
예 2:
CEC를 위해 완료되었습니다. 파이프 깊이 - 4.5"(MER)
예상: 4.5
실제: .4.5()
추가 마침표와 괄호가 들어오는 이유는 무엇입니까? 또한 처음에 ^가 헷갈립니다. 제거하면 숫자가 아닌 텍스트만 표시됩니다.
감사해요
Re: Regex 추출 숫자 및 소수아야!
텍스트 탐색기는 숫자에 대해 이 패턴을 사용합니다.
([\-\+]? ?[\.,]?[0-9][\.,0-9]*( ?e ?[\-\+]? ?\d+)?)
왼쪽에서 오른쪽으로 읽는다
- 선택적 + 또는 -
- 선택적 공간
- 선택적 마침표 또는 쉼표
- 필수 숫자
- 0개 이상의 마침표, 쉼표 및 숫자
- 선택적 지수(내부에 선택적 비트 및 조각 포함)
쉼표와 마침표는 소수점 이하 자릿수와 천 단위 구분 기호를 나타내는 방법에 대한 여러 국가의 표준이 다르기 때문에 상호 교환이 가능합니다. 숫자가 아닌 이상한 문자열이 빠져나갈 수 있으므로 num() 함수가 누락된 값을 반환할 수 있다고 예상하는 코드를 작성해야 합니다.
Re: Regex 추출 숫자 및 소수나는 또 다른 경우를 생각했다. "마크가 그의 손가락을 0.5" 잘랐다." 막혔어! 이 경우와 다른 경우에 내 정규식을 사용할 수 없습니다. 한 세트의 케이스 또는 다른 세트!
미리 보기 사용...
Names Default to Here( 1 );
PIPE_LENGTH = "Length = 3.5\!". Completed by John.";
PIPE_LENGTH = "Completed for CEC. Pipe depth- 4.5\!" (MER)";
PIPE_LENGTH = "John cut 5\!"";
PIPE_LENGTH = "Mark cut .5\!" off his finger.";
Regex( PIPE_LENGTH, "\D*(?=\.)?(\d*\.?\d*)\D*", "\1" );
JMP 패턴을 사용하는 것이 더 쉬울지 궁금합니다.
@Craige_Hales , 어디세요???
Re: Regex 추출 숫자 및 소수완벽한. 스텀퍼에 대한 빠른 도움을 주셔서 감사합니다.Re: Regex 추출 숫자 및 소수Regex( PIPE_LENGTH, "\D*(\d+\.?\d*)\D*", "\1" );
Re: Regex 추출 숫자 및 소수이게 낫다. 다음과 같은 시나리오가 있습니다.
존 컷 5"
이것은 십진수가 없습니다. 귀하의 예는 공백을 반환합니다.
감사해요
Re: Regex 추출 숫자 및 소수외모 [^(\d+\.\d+)]는 숫자, 소수점 및 구두점을 제외한 모든 항목을 선택합니다. ""로 대체하고 있습니다. 남은 것은 숫자 소수점과 구두점()입니다. 이 표현은 내가 예상한 대로 행동하고 있습니다. 나는 또한 당신의 예에서 그것을 테스트했고 같은 결과를 얻었습니다.
이런 식으로 작동할까요?
정규식( :PipeLength, "(\d+.\d+)", "\1" )
나머지 데이터가 어떻게 생겼는지 확실하지 않지만 이 표현식은 필요한 숫자와 소수만 추출합니다. 두 가지 예 모두에서 작동했습니다.