문제

저는 웹페이지의 DOM 내에서 날짜를 찾으려고 일련의 정규식을 실행하는 프로그램을 개발 중입니다.예를 들어, www.engadget.com/2010/07/19/windows-phone-7-in-length-preview/, 정규식과 "2010년 7월 19일"을 일치시킵니다.아랍어 웹페이지를 방문하기 전까지는 다양한 형식과 언어로 문제가 해결되지 않았습니다.예를 들어 다음을 고려하십시오. http://islammaktoob.maktoobblog.com/.2010년 7월 18일 날짜가 게시물 상단에 아랍어로 표시되어 있지만 어떻게 일치시킬 수 있는지 알 수 없습니다.아랍어 날짜 일치에 대한 경험이 있는 사람이 있습니까?누군가가 아랍어 날짜와 일치시키는 데 사용할 예제나 정규식을 게시할 수 있다면 매우 도움이 될 것입니다.감사합니다!

업데이트:

가까워지는 중:

String fromTheSite = "كتبها اسلام مكتوب ، في 18 تموز 2010 الساعة: 09:42 ص"; 
    NamedMatcher infoMatcher = NamedPattern.compile("(?<Day>[0-3]?[0-9]) (?<Month>يناير|فبراير|مارس|أبريل|إبريل|مايو|يونيو|يونيه|يوليو|يوليه|أغسطس|سبتمبر|أكتوبر|نوفمبر|ديسمبر|كانون الثاني|شباط|آذار|نيسان|أيار|حزيران|تموز|آب|أيلول|تشرين الأول|تشرين الثاني|كانون الأول) (?<Year>[1-2][0-9][0-9][0-9]) ", Pattern.CANON_EQ).matcher(fromTheSite);
    while(infoMatcher.find()){
        System.out.println(infoMatcher.group());
        System.out.println(infoMatcher.group("Day"));
        System.out.println(infoMatcher.group("Month"));
        System.out.println(infoMatcher.group("Year"));
    }

나에게 준다

18 تموز 2010
18
تموز
2010

일치 항목이 순서대로 표시되지 않는 이유는 무엇입니까?

도움이 되었습니까?

해결책

복사한 텍스트의 이진 코드를 보면 문장이 실제로 오른쪽에서 왼쪽으로 읽혀 저장되는 것을 볼 수 있습니다(따라서 오른쪽의 첫 글자가 파일의 첫 글자가 됩니다).
오른쪽에서 왼쪽으로 쓰여진 것처럼 보이도록 렌더링하는 동안 텍스트를 다시 변경합니다(이로 인해 이상한 선택 동작도 발생합니다).

그러므로 오른쪽에서 왼쪽으로 검색해야 합니다.
또한 숫자가 전환되지 않는다는 점을 알아두는 것이 중요합니다.

예:

읽을 수 있다면 "txet emos 20 yluJ 2016 srahc modnar",
다음과 같이 저장됩니다 "random chars 2016 July 20 some text" 파일에서.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top