0

次のパッセージを解析します。

<group start="372" name="Russia" max-len="11" regex="^\d{8}$" curnpay="RUR" capacity="false" inccode="true">

String regExpValue = parser.getAttributeValue(null, GROUP_TAG_ATT_REGEXP); 

その結果regExpValue = "^d{8}$"、「\」がなくなったところが表示されます。何が問題ですか?

4

1 に答える 1

0

Java では二重エスケープが必要です。Java は rawstrings のようなものを認識せず、最初に文字列が処理され、すべてのエスケープ シーケンスが実行されるためです。\dは文字列エスケープ シーケンスではないため、バックスラッシュのみが削除されます。

だから試してみてください:

<group start="372" name="Russia" max-len="11" regex="^\\d{8}$" curnpay="RUR" capacity="false" inccode="true">
于 2012-10-18T09:21:34.190 に答える