2014-01-30 4 views
1

정규식을 사용하여보고 도구에서 데이터를 추출하고 있습니다. 여기 문자열에 더하기 숫자 범위의 정규식

는 범위 :
cid=300000[195-429] 

내가

?cid=[300000195]-[300000429]을 시도하지만 그들은 작동하지 않습니다.

cid는 문자열의 일부입니다. 예를 들어,? cid = 300000197을 반환하고? cid = 300000300

등이 있습니다.

올바른 정규식 구문은 무엇입니까?

+1

이 작업을 수행 할 수 있다고 확신하지만 정규 표현식은이 작업에 특히 적합하지 않습니다. 숫자로 분석 한 다음 해당 숫자가 적절한 범위 내에 있는지 확인하십시오. –

+0

@ p.s.w.g에서 regex가 숫자 범위에 가장 적합한 도구는 아니라고 말했습니다. 그래서 어떤 언어로든 필요한 범위를'integer'로 변환/캐스트하고 범위가 범위 내에 있는지 결정하기 위해 프로그래밍 언어를 사용하십시오. 귀하의 예는 단지 예입니다. maintainabile/readable code가 멋진 일을하는 것보다 훨씬 중요하다는 것을 기억하십시오. – gwillie

답변

1

이 시도 :

cid=30000(19[5-9]|[2-3]\d{2}|4[0-2]\d)

Paste the regex here and give it a try.

Google 웹 로그 분석 '정규 표현식 엔진 오히려 등등 펄, PHP, 자바 스크립트에 의해 사용에 비해 약한, 그래서 이것은 일부 조정했다 . 그러나 URL이 예상 된 형식을 따르는 한 확실한만큼 작업을 완료해야합니다.

+0

시도해 주셔서 감사 합니다만 실제로 작동하지 않습니다. 데이터를 생성하지 않는 반면 특정 번호를 확인하면 존재 함 –

+0

와우! 이 3 개의 숫자를 추출하려고합니다. 3 자리 숫자가 표현식에 '일치'되도록 캡처 그룹을 추가했습니다. 나는 또한 [링크를 업데이트했다.] (http://regexr.com?3860k) – theftprevention

+0

Nope :-( example.com/?cid=300000195, example.com/?cid=300000196, 예 : 많은 URL이있다. co.kr /? cid = 300000197 ... 300 개까지 있습니다. Google 애널리틱스보고 도구에 이러한 URL이 표시됩니다. 해당 범위에 맞는 트래픽을 발생시키는 세그먼트를 만들고 싶습니다. 행운을 빕니다. 할 수 있습니까? 도와 주려고 모두 고마워요. –