इस विशेष मामले JSTL fn:startsWith
समारोह के साथ संभाला जा सकता है, सामान्य रूप में नियमित अभिव्यक्ति बहुत संभावना परीक्षण की तरह लग । यह दुर्भाग्यपूर्ण है कि जेएसटीएल में इनके लिए कोई फ़ंक्शन शामिल नहीं है।
चमकदार तरफ, एक ईएल फ़ंक्शन लिखना बहुत आसान है जो आप चाहते हैं। आपको फ़ंक्शन कार्यान्वयन की आवश्यकता है, और एक टीएलडी आपके वेब एप्लिकेशन को यह कहने के लिए कहां मिलना है। इन्हें एक साथ जार में रखें और इसे अपने वेब-आईएनएफ/lib निर्देशिका में छोड़ दें।
यहाँ एक रूपरेखा है:
कॉम/एक्स/taglib/कोर/Regexp.java:
import java.util.regex.Pattern;
public class Regexp {
public static boolean matches(String pattern, CharSequence str) {
return Pattern.compile(pattern).matcher(str).matches();
}
}
META-INF/xc.tld:
<taglib xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-jsptaglibrary_2_0.xsd" version="2.0">
<tlib-version>1.0</tlib-version>
<short-name>x-c</short-name>
<uri>http://dev.x.com/taglib/core/1.0</uri>
<function>
<description>Test whether a string matches a regular expression.</description>
<display-name>Matches</display-name>
<name>matches</name>
<function-class>com.x.taglib.core.Regexp</function-class>
<function-signature>boolean matches(java.lang.String, java.lang.CharSequence)</function-signature>
</function>
</taglib>
क्षमा करें, मैं नहीं था इस विशेष कार्य का परीक्षण न करें, लेकिन मुझे आशा है कि आपको सही दिशा में इंगित करने के लिए पर्याप्त है।
यह ओप (और मेरा) प्रश्न का उत्तर नहीं देता है: _ "क्या किसी को पता है कि स्ट्रिंग को इसके बजाय रेगेक्स के रूप में व्याख्या करने का कोई तरीका है?" _ – Madbreaks