-1

キーボードの引用符を正規表現で英語の引用符に変換する簡単な方法はありますが、HTML エンティティが保持されていることを確認してください。たとえば、 を翻訳したいのですが、翻訳some "text"はしたくありません<span id="blah">

ありがとう!

編集:

あなたの何人かは、私は自分自身を試していなかったと示唆しました. 私は試みました-私はあなたに影響を与えないことを示したくありませんでした. しかし、成功しませんでした:

string.replace(
     "(?<!\"|\\w|=)\"(?!\\ |\")((?:[^\"]++|\")+?)(?<!\\ |\")\"(?![\"A-Za-z\u00C0-\u02FF\u0370-\u1EFF])()", 
     "“$1”");

しかし、HTML タグの引用を翻訳せずにはいられません。

4

2 に答える 2

6

HTML は正規の言語ではないため、これに正規表現を使用するのは面倒です。あなたのユースケースは非常に限られているため(基本的に、属性値の周りの引用符をスキップするだけです)、(あなたの側で)十分な努力をすれば、その正規表現を思いつくことができるかもしれませんが、私は疑わしいです(少なくとも属性=と in 属性の間に任意の量の任意の種類の空白が存在する可能性があり"、テキストのように見える可能性があるためです)。

これを確実に行うには、HTML を完全に解析し、マークアップ以外のテキストのみを処理する必要があります。パーサーを作成する必要はありませんが、既に作成されているいくつかのパーサーを使用できます。JSoupは特によく知られています。

于 2012-05-20T11:34:19.387 に答える
2
于 2012-05-20T11:36:52.793 に答える