Skip to content

Instantly share code, notes, and snippets.

@jerry74
Created May 5, 2014 04:30
Show Gist options
  • Select an option

  • Save jerry74/7914aa883fd8c9c33861 to your computer and use it in GitHub Desktop.

Select an option

Save jerry74/7914aa883fd8c9c33861 to your computer and use it in GitHub Desktop.

Revisions

  1. jerry74 created this gist May 5, 2014.
    345 changes: 345 additions & 0 deletions 車牌檢核
    Original file line number Diff line number Diff line change
    @@ -0,0 +1,345 @@
    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
    xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
    xmlns:util="http://www.springframework.org/schema/util"
    xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
    http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-2.0.xsd">
    <bean id="CheckRules" class="java.util.HashMap">
    <constructor-arg>
    <map key-type="java.lang.String" value-type="java.util.ArrayList">
    <entry key="01" value-ref="morto_01"/>
    <entry key="02" value-ref="morto_02"/>
    <entry key="03" value-ref="car_03"/>
    <entry key="04" value-ref="car_04"/>
    <entry key="05" value-ref="car_05"/>
    <entry key="06" value-ref="car_06"/>
    <entry key="07" value-ref="car_07"/>
    <entry key="08" value-ref="car_08"/>
    <entry key="09" value-ref="car_09"/>
    <entry key="10" value-ref="car_10"/>
    <entry key="11" value-ref="formet33"/>
    <entry key="12" value-ref="formet33"/>
    <entry key="13" value-ref="car_13"/>
    <entry key="14" value-ref="car_14"/>
    <entry key="15" value-ref="car_15"/>
    <entry key="16" value-ref="formet33"/>
    <entry key="17" value-ref="formet33"/>
    <entry key="18" value-ref="car_18"/>
    <entry key="19" value-ref="car_19"/>
    <entry key="20" value-ref="car_20"/>
    <entry key="21" value-ref="car_21"/>
    <entry key="22" value-ref="car_22"/>
    <entry key="25" value-ref="formet33"/>
    <entry key="26" value-ref="formet33"/>
    <entry key="27" value-ref="formet33"/>
    <entry key="28" value-ref="formet33"/>
    <entry key="29" value-ref="formet33"/>
    <entry key="30" value-ref="car_30"/>
    <entry key="31" value-ref="car_31"/>
    <entry key="32" value-ref="morto_32"/>
    <entry key="34" value-ref="morto_34"/>
    </map>
    </constructor-arg>
    </bean>
    <!--全部允許-->
    <util:list id="noCheck" value-type="java.lang.String">
    <value>.*</value>
    </util:list>
    <!--只檢查格式3-3-->
    <util:list id="formet33" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    </util:list>
    <!--只檢查格式3-3-->
    <util:list id="formet34" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    </util:list>
    <!--01普通重型機器腳踏車-->
    <util:list id="morto_01" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--MAY-0001~PZZ-9999-->
    <value>^(MA[Y-Z]|M[B-Z][A-Z]|[N-P][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--JAA-0001~JZZ-9999-->
    <value>^(J[A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WFA-0001~WZZ-9999 XAA-0001~ZZZ-9999應該可以合併-->
    <!--XAA-0001~ZZZ-9999-->
    <value>^([X-Z][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WFA-0001~WZZ-9999-->
    <value>^(W[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--QNA-0001~QZZ-9999-->
    <value>^(Q[N-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--LNA-0001~LZZ-9999-->
    <value>^(L[N-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--HEA-0001~HZZ-9999-->
    <value>^(H[E-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KUA-0001~KZZ-9999-->
    <value>^(K[U-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KQE-0001~KQZ-9999-->
    <value>^(KQ[E-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--SFA-0001~SZZ-9999-->
    <value>^(S[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--02普通輕型機器腳踏車-->
    <util:list id="morto_02" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!-- QAL-0001~QMZ-9999-->
    <value>^(QA[L-Z]|Q[B-M][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--03自用小客車-->
    <util:list id="car_03" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--AJF-0001~DZZ-9999-->
    <value>^(AJ[F-Z]|[B-D][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--FAA-0001~GZZ-9999-->
    <value>^([F-G][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--UAA-0001~VZZ-9999-->
    <value>^([U-V][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAN-0001~EZZ-9999-->
    <value>^(EA[N-Z]|E[B-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WAC-0001~WDZ-9999-->
    <value>^(WA[C-Z]|W[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WEF-0001~WEZ-9999-->
    <value>^(WE[F-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAB-0001~EAK-9999-->
    <value>^(EA[B-K])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WEA-1819~WEE-9999-->
    <value>^((WEA)-(1819|18[2-9][0-9]|19[0-9]{2}|[2-9][0-9]{3}))|((WE[B-E])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3}))$</value>
    </util:list>
    <!--04自用小貨車-->
    <util:list id="car_04" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--AJF-0001~DZZ-9999-->
    <value>^(AJ[F-Z]|[B-D][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--FAA-0001~GZZ-9999-->
    <value>^([F-G][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--UAA-0001~VZZ-9999-->
    <value>^([U-V][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAN-0001~EZZ-9999-->
    <value>^(EA[N-Z]|E[B-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--05自用大客車-->
    <util:list id="car_05" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KJA-0001~KJZ-9999-->
    <value>^(KJ[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAL-0001~EAL-9999-->
    <value>^(EAL)-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--06自用大貨車-->
    <util:list id="car_06" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KEA-0001~KHZ-9999-->
    <value>^(K[E-H][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KSA-0001~KSZ-9999-->
    <value>^(KS[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>

    <!--07營業小客車-->
    <util:list id="car_07" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--TAA-0001~TZZ-9999-->
    <value>^(T[A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAM-0001~EAM-9999-->
    <value>^(EAM)-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--08營業小貨車-->
    <util:list id="car_08" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KPA-0001~KPZ-9999-->
    <value>^(KP[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KTA-0001~KTZ-9999-->
    <value>^(KT[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--09營業大客車-->
    <util:list id="car_09" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KKA-0001~KKZ-9999-->
    <value>^(KK[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KAA-0001~KDZ-9999-->
    <value>^(K[A-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KQA-0001~KQD-9999-->
    <value>^(KQ[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAL-0001~EAL-9999-->
    <value>^(EAL)-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--10營業大貨車-->
    <util:list id="car_10" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KLA-0001~KMZ-9999-->
    <value>^(K[L-M][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KRA-0001~KRZ-9999-->
    <value>^(KR[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--13營業一般貨運曳引車-->
    <util:list id="car_13" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KLA-0001~KMZ-9999-->
    <value>^(K[L-M][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KRA-0001~KRZ-9999-->
    <value>^(KR[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--14長期租賃小客車-->
    <util:list id="car_14" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REA-5556~REM-9999-->
    <value>^((((REA)-(555[6-9]|55[6-9][0-9]|56[0-9]{2}|[6-9][0-9]{3}))|((WE[B-E])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})))|((RE[B-M]-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3}))))$</value>
    </util:list>
    <!--15個人計程車-->
    <util:list id="car_15" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--TAA-0001~TZZ-9999-->
    <value>^(T[A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAM-0001~EAM-9999-->
    <value>^(EAM)-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--18自用一般貨運曳引車-->
    <util:list id="car_18" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KEA-0001~KHZ-9999-->
    <value>^(K[E-H][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KSA-0001~KSZ-9999-->
    <value>^(KS[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--HAA-0001~HAZ-999-->
    <!--<value>^(HA[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>-->
    </util:list>
    <!--19公司行號自用小貨車-->
    <util:list id="car_19" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--AJF-0001~DZZ-9999-->
    <value>^(AJ[F-Z]|[B-D][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--FAA-0001~GZZ-9999-->
    <value>^([F-G][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--UAA-0001~VZZ-9999-->
    <value>^([U-V][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAN-0001~EZZ-9999-->
    <value>^(EA[N-Z]|E[B-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--20公司行號自用大貨車-->
    <util:list id="car_20" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KEA-0001~KHZ-9999-->
    <value>^(K[E-H][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KSA-0001~KSZ-9999-->
    <value>^(KS[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--21長期租賃小客車-->
    <util:list id="car_21" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--22客貨兩用車-->
    <util:list id="car_22" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--AJF-0001~DZZ-9999-->
    <value>^(AJ[F-Z]|[B-D][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--FAA-0001~GZZ-9999-->
    <value>^([F-G][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--UAA-0001~VZZ-9999-->
    <value>^([U-V][A-Z]{2})-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--EAN-0001~EZZ-9999-->
    <value>^(EA[N-Z]|E[B-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WAC-0001~WDZ-9999-->
    <value>^(WA[C-Z]|W[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--WEF-0001~WEZ-9999-->
    <value>^(WE[F-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RAQ-0001~RDZ-9999-->
    <value>^(RA[Q-Z]|R[B-D][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--RFA-0001~RZZ-9999-->
    <value>^(R[F-Z][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REN-0001~REZ-9999-->
    <value>^(RE[N-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--REA-5556~REM-9999-->
    <value>^((((REA)-(555[6-9]|55[6-9][0-9]|56[0-9]{2}|[6-9][0-9]{3}))|((WE[B-E])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})))|((RE[B-M]-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3}))))$</value>
    </util:list>
    <!--24長期租賃大客車-->
    <util:list id="car_24" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KJA-0001~KJZ-9999-->
    <value>^(KJ[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--30營業貨櫃貨運曳引車-->
    <util:list id="car_30" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KNA-0001~KNZ-9999-->
    <value>^(KN[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--31自用貨櫃貨運曳引車-->
    <util:list id="car_31" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{3}-\w{3}$</value>
    <!--KEA-0001~KHZ-9999-->
    <value>^(K[E-H][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--KSA-0001~KSZ-9999-->
    <value>^(KS[A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--32大型重型機器腳踏車-->
    <util:list id="morto_32" value-type="java.lang.String">
    <!--格式3-3-->
    <value>^\w{2}-\w{3}$</value>
    <!--兩個應該可以合併-->
    <!--LAD-0001~LFZ-9999-->
    <value>^(LA[D-Z]|L[B-F][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    <!--LGA-0001~LMZ-9999-->
    <value>^(L[G-M][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>
    <!--34小型輕型機器腳踏車-->
    <util:list id="morto_34" value-type="java.lang.String">
    <!--格式3-4-->
    <value>^\w{3}-\w{4}$</value>
    <!--SAC-0001~SEZ-9999-->
    <value>^(SA[C-Z]|S[B-E][A-Z])-([1-9][0-9]{3}|[0-9][1-9][0-9]{2}|[0-9]{2}[1-9][0-9]{1}|[0-9]{3}[1-9]|[1-9][0-9]{3})$</value>
    </util:list>

    </beans>