1
re.sub(r"""\s*(\p{LD}+)\s+NEAR/(\d)\s+(\p{LD}+)\s*""",r""""$1 $3"~$2""",'foo NEAR/4 bar')
Python中的片段。
預期輸出是
「富巴」 〜4
,但現在我得到
foo NEAR/4 bar
我試圖到Scala代碼轉換爲蟒蛇。 Scala代碼是
val near_rex = """\s*(\p{LD}+)\s+NEAR/(\d)\s+(\p{LD}+)\s*""".r;
val out = near_rex.replaceAllIn("foo NEAR/4 bar", """"$1 $3"~$2""");
階段工作正常這裏http://www.simplyscala.com/
爲什麼混淆引號?只是're.sub(r'\ s *(\ w +)\ s + NEAR /(\ d)\ s +(\ w +)\ s *',r'「\ 1 \ 3」〜\ 2','foo NEAR/4 bar')'會很好。 – 2014-10-06 10:42:56
'\ p {LD} +'不是Scala特有的東西。請參閱http://www.regular-expressions.info/unicode.html(在「* Unicode類別*」下)。 – 2014-10-06 11:39:59