如果我有一个类似"11E12C108N"的字符串,它是字母组和数字组的串联,我如何在它们之间没有分隔符空格字符的情况下拆分它们?
例如,我希望得到的分割是:
tokens[0] = "11"
tokens[1] = "E"
tokens[2] = "12"
tokens[3] = "C"
tokens[4] = "108"
tokens[5] = "N"
Run Code Online (Sandbox Code Playgroud)
我现在有这个.
public static void main(String[] args) {
String stringToSplit = "11E12C108N";
Pattern pattern = Pattern.compile("\\d+\\D+");
Matcher matcher = pattern.matcher(stringToSplit);
while (matcher.find()) {
System.out.println(matcher.group());
}
}
Run Code Online (Sandbox Code Playgroud)
这给了我:
11E
12C
108N
Run Code Online (Sandbox Code Playgroud)
我可以让原始的正则表达式一次完成吗?而不是必须在中间令牌上再次运行正则表达式?
在我的servlet类中,我用以下内容注释了类:
@WebServlet("/OnlinePostListener/testFromAnnotation")
public class OnlinePostListener extends HttpServlet {
...
}
Run Code Online (Sandbox Code Playgroud)
我的web.xml包含以下内容:
<servlet>
<description>
</description>
<display-name>OnlinePostListener</display-name>
<servlet-name>OnlinePostListener</servlet-name>
<servlet-class>com.me.forwardingProxy.OnlinePostListener</servlet-class>
</servlet>
<servlet-mapping>
<servlet-name>OnlinePostListener</servlet-name>
<url-pattern>/testFromWebXML</url-pattern>
</servlet-mapping>
Run Code Online (Sandbox Code Playgroud)
我的servlet仅在访问URL时响应:
http://localhost:8080/forwardingProxy/OnlinePostListener/testFromAnnotation
Run Code Online (Sandbox Code Playgroud)
但不是:
http://localhost:8080/forwardingProxy/OnlinePostListener/testFromWebXML
Run Code Online (Sandbox Code Playgroud)
@ WebServlet的注释和servlet-mapping有什么区别?为什么servlet映射不适用于此URL模式?