SPeL正则表达式返回子字符串而不是布尔值

时间:2015-10-08 16:19:30

标签: java regex xml spring javabeans

有没有办法作为SPeL表达式返回源字符串的匹配子字符串,而不是它是否包含正则表达式?

例如,

<property name="emailValid" 
          value="#{user.email matches '^[_A-Za-z0-9-]+(.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(.[A-Za-z0-9]+)*(.[A-Za-z]{2,})$'}"/>

将返回if user.email与正则表达式匹配的布尔值

然而,我正在寻找的是类似的东西 (如果test.url="helloworld/iwantthispart"

<property name="theNewSubstring" 
              value="#{test.url imaginaryMethod '[^\/]+$'}"/>

然后,属性thenNewSubstring将等于iwantthispart

我也在使用Spring,如果框架中有任何我不知道的宝石。

1 个答案:

答案 0 :(得分:1)

不幸的是,在春天的表达语言只有&gt;,&lt;,&gt; =,&lt; =,instanceOf,匹配和运算符之间。

您可以使用spring xml代码编写:

Query Type Store Procedure

或者从匹配器中提取您需要的组。