小编Ste*_*e C的帖子

正则表达式拆分数字和字母组没有空格

如果我有一个类似"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)

我可以让原始的正则表达式一次完成吗?而不是必须在中间令牌上再次运行正则表达式?

java regex

8
推荐指数
2
解决办法
1万
查看次数

@WebServlet Annotation和servlet-mapping的区别

在我的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模式?

web-services web.xml servlets url-pattern

2
推荐指数
2
解决办法
4883
查看次数

标签 统计

java ×1

regex ×1

servlets ×1

url-pattern ×1

web-services ×1

web.xml ×1