자바 스크립트에서 .txt 파일을 읽고 HTML 테이블에 파싱합니다. 그것은 완벽하게 작동합니다. 그 정보에는 첫 번째와 두 번째 줄 (두 번째는 아파트 번호, 공간 번호 등)의 조합 인 주소 줄이 있습니다. 그것들을 한 줄로 읽습니다.
내가하려고하는 것은 첫 번째 및 두 번째 주소 줄이 분리되어 데이터베이스에 정상적으로 공급 될 수 있도록하는 것입니다. 그것들을 깨기 위해서, 나는 생각할 수있는 많은 옵션들을 잡기 위해 정규 표현식을 작성했다. 대부분은 완벽하게 잘 작동합니다. 작은 예를 든 모든 테스트가 제대로 작동한다고해도 그 중 한 명은 올바르게 작동하지 않습니다. 사용 Demo
Javascript 정규식이 작동하지 않습니다.
정규식 :
([\,\s]*)(Ste |Ste\.)
에 :
는 여기에 내가 함께 작동하도록 노력하고있어 정규 표현식의 부분의 I가 시도했습니다
12 Watershore Circle
825 Stewart Street
820 N Lincoln Way
9235 Bella Vista Way
P.O. Box 4438
9936 Stone Oak Way
599 Hamstead Drive
3941 Park Drive Ste 20 #147
3609 Bradshaw RD,ste H #107
7909 Walerga Road, Ste. 112, PMB 108
옵션
내가 원하는 걸 :([\,\s]*)(Ste |Ste\.)
([\,\s]+)(Ste |Ste\.)
(\,*[\W]Ste[\W]|\,*[\W]Ste\.[\W])
내 웹 페이지에서 라이브 결과는 이러한 평균이 생각하는 것 무엇 :
(\,*[\w]Ste[\w]|\,*[\w]Ste\.[\w])
또는 당신이 볼 수 있듯이
이, 난 그냥 "인트를"분리하기 위해 노력하고있어 (대소 문자 구분) 나머지 줄에서. 실제 테스트에서 어떤 일이 일어나고있는 것은 "Ste"(대소 문자를 구별하지 않음)의 모든 인스턴스가 중단된다는 것입니다. 위에 제공된 링크에는 라이브 실행에서 얻는 것을 생성하는 예제 정규 표현식이 있습니다.
이 정규 표현식 상황은 Razor (C#) 뷰 페이지가있는 MVC 4의 JavaScript 코드입니다. 다시 말하지만, 여기에 나열되지 않은 정규 표현식의 나머지 부분은 전혀 다른 구문을 찾고 있습니다. 그것은 단지 하나의 조각입니다.
이 문제를 올바르게 디버깅하는 방법에 대한 제안은 크게 감사하겠습니다. 고맙습니다.
당신의 정규식은''[공백]'또는''[임의의 공백]''을 찾습니다. '.'와 같이 문자'.'를 목표로 할 때는 언제나'.'를 벗어나야합니다. 이 정규 표현식을 사용하는 코드를 보지 않고 정규 표현식을'([\, \ s] *) (Ste \.?)'로 줄일 수 있습니다. –
저의 오타에 잘 어울립니다. 나는 그 기간 동안 적절한 탈출구로 바꿨다. 불행히도 이것은 여전히 두 가지 경우에 문제가되고 있습니다. 어떤 이유로 든 내가 사용한 방식을 사용하면 앞면에있는 공백과 쉼표가 완전히 선택 사항이므로 "Allister"와 같은 단어가 분리됩니다. 둘 중 하나 이상을 강제로하기 위해'([\, \ s] +) (Ste \.?)'로 변경하면, 데모. – TerriWiseden
아마도 아무 것도 변경하지 않지만 쉼표를 이스케이프 할 필요는 없습니다. – cbreezier