0

実際には別のクラスのプロパティであるこの正規表現を記述するより良い方法はありますか? このクラスは、以下の「cpl」で説明されている文字列の 1 つであるかどうかを単純にテストします。また、「|」で区切られた文字列に合わせたい場合 例: |R BERKS CTY RCP| の複数行 # 1 行目終了
|R BERKS CTY RCRP| #line2 が終わったらどうやって書くの?

   <bean class="com.a.Class">
                        <property name="regEx">
                            <bean class="java.util.regex.Pattern" factory-method="compile">
                                <constructor-arg ref="cpl"/>
                            </bean>    
                        </property>
    </bean>    



 <bean id="cpl" class="java.lang.String">
    <constructor-arg value="(ST RCP|ST CT J DISC P|ST JUV CT|ST J ADMIN|R BERKS CTY J ADMIN|R BERKS CTY RCP|
                |R BERKS CTY RCRP|R CHESTER CTY RCP)">
    </constructor-arg>
 </bean>
4

1 に答える 1

0

コメント修飾子 x を使用できます。

例:

<constructor-arg value="(ST RCP|ST CT J DISC P|ST JUV CT|ST J ADMIN|(?x)
                    (?-x)R BERKS CTY J ADMIN|R BERKS CTY RCP|(?x)
                    (?-x)R BERKS CTY RCRP|R CHESTER CTY RCP)">

また:

<constructor-arg value="(?x)(ST\sRCP|ST\sCT\sJ\sDISC\sP|ST\sJUV \sCT| #you can
                             ST\sJ\sADMIN|R\sBERKS\sCTY\sJ\sADMIN|R\s #put 
                             BERKS\sCTY\sRCP|R\sBERKS\sCTY\sRCRP|R\sC #comments
                             HESTER\sCTY\sRCP)(?-x)">

コメント モードでは、正規表現エンジンはスペースを気にしないため、スペースをすべて明示的に記述する必要があります。

(?x)コメントモードを有効にするには

(?-x)無効にする

于 2013-06-12T17:44:41.403 に答える