Scala 정규식 : 긴 유니 코드 Devanagari 패턴 일치 실패

vishvAs vAsuki

다음 스크립트 코드를 고려하십시오. import scala.util.matching.Regex

val VIRAMA = "्"
val consonantNonVowelPattern = s"(म|त|य)([^$VIRAMA])".r
// val consonantNonVowelPattern = s"(थ|ठ|छ|स|ब|घ|ण|ट|ज|ग|न|ष|भ|ळ|ढ|ख|श|प|ह|ध|ङ|म|झ|ड|ल|व|र|फ|क|द|च|ञ|त|य)([^$VIRAMA])".r
var output = "असय रामः "
output = consonantNonVowelPattern.replaceAllIn(output, _ match {
  case consonantNonVowelPattern(consonant, followingCharacter) =>
    consonant + VIRAMA + "a" + followingCharacter
})
println("After virAma addition: " + output.mkString("-"))

다음과 같은 올바른 출력을 생성합니다. After virAma addition: अ-स-य-्-a- -र-ा-म-्-a-ः-

그러나 더 긴 패턴 (위에 주석 처리됨)을 사용하면 다음과 같은 잘못된 출력이 표시됩니다. After virAma addition: अ-स-्-a-य- -र-्-a-ा-म-्-a-ः-

이것은 버그입니까? 내가 뭘 잘못하고 있니?

vishvAs vAsuki

아래는 Lalit Pant 덕분입니다.

두 번째 경우의 올바른 출력은 다음과 같다고 가정합니다. अ-स-्- a- य-्- a- -र-्- a- ा-म-्- a- ः-

그렇다면 계속 읽으십시오. 그렇지 않은 경우 예상 출력을 알려주십시오.

문제는 더 큰 'consonantNonVowelPattern'의 경우 '출력'에 'सय'가 있으면 'स'자음 뒤에 패턴 일치에서 'य'가 'followingCharacter'로 표시된다는 것입니다. 결과적으로 'य'는 자음으로보고되지 않습니다.

이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.

침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제

에서 수정
0

몇 마디 만하겠습니다

0리뷰
로그인참여 후 검토

관련 기사

분류에서Dev

유니 코드 패턴 일치를위한 정규식

분류에서Dev

Scala의 정규식과 패턴 일치

분류에서Dev

정규식 : 패턴 일치 실패

분류에서Dev

유니 코드 문자를 JSON 스키마 패턴 (정규식)과 일치시키는 방법

분류에서Dev

HTML 코드의 패턴과 일치하는 정규식

분류에서Dev

여러 파일에서 정규식 (유니 코드 문자 클래스 Devanagari 일치) 찾기 및 바꾸기

분류에서Dev

유니 코드 정규식 패턴이 작동하지 않음

분류에서Dev

유니 코드 정규식 패턴이 작동하지 않음

분류에서Dev

Scala : 패턴 일치 블록에서 직접 정규식

분류에서Dev

Scala에서 정규식 배열과 패턴 일치

분류에서Dev

유사한 패턴과 일치 계속 정규식

분류에서Dev

정규식 패턴이 null 값과 일치하는 이유

분류에서Dev

정규식의 유한 폐쇄 패턴 ({x, y}) 일치

분류에서Dev

파이썬 정규식 : re.ASCII가있는 패턴은 여전히 유니 코드 문자와 일치 할 수 있습니까?

분류에서Dev

정규식 일치 특정 패턴

분류에서Dev

정규식 패턴은 절반 만 일치합니다.

분류에서Dev

PHP 정규식-패턴이 일치하지 않습니다.

분류에서Dev

정규식은 a 또는 b 패턴과 일치합니다.

분류에서Dev

패턴의 정규식 일치 이름

분류에서Dev

일치시킬 정규식 패턴-Javascript

분류에서Dev

여러 줄 정규식 패턴 일치

분류에서Dev

정규식-문자열 패턴 일치

분류에서Dev

정규식- "(cmd :)"패턴 일치 문제

분류에서Dev

정규식- "(cmd :)"패턴 일치 문제

분류에서Dev

정규식 및 패턴 일치

분류에서Dev

자바의 정규식 일치 패턴

분류에서Dev

C ++ 11 정규식 패턴 일치

분류에서Dev

{{....}}와 일치하는 정규식 패턴

분류에서Dev

파이썬 정규식 패턴 일치

Related 관련 기사

뜨겁다태그

보관