私は、文章を単語に分割するために使用しようとしている正規表現の一部を持っています。その一環として、「単語」などのパターンを分割したいと考えています。 "word"、 "。"に変換します。私は、句読点に肯定的な先読みを使用し、スペース文字に対して負のルックバックを使用してこれを行います。 JavaではJavaとC#Regexが同じ結果を生成しない
、次のコードは、これを実現:
Pattern test = Pattern.compile("(?=[\\p{P}&&[^']])(?<!\\s)");
test.split("word."); // returns ["word", "."]
私はC#でそれをしようとしたときしかし、同じパターンで、それは動作しません。
Regex.Split("word.", @"(?=[\p{P}&&[^']])(?<!\s)");
// returns ["word."]
なぜC#はここでも同じように動作しません。
なぜ同じように動作すると思われますか? –
Javaの実装は間違っていなければなりません。 –
@ScottHannen:それは正規表現のちょっとした風味です。 –