小编Dev*_*ble的帖子

如何匹配字符串中间或末尾的字符,但只匹配一次

我试图将Java中的字符串与String.matches()匹配.

可接受的值是

  • ABC321,
  • ABC321/OTHER888
  • 或ABC321/

  • / ABC321
  • 或ABC321/OTHER888/

不应该匹配.

因此/可能在字符串的中间或末尾但不在开头,它应该只出现一次.

这是我设法做的最接近的正则表达式:

myString.matches("^[A-Za-z0-9]+/?[A-Za-z0-9]+/?$");
Run Code Online (Sandbox Code Playgroud)

但问题是/可能会出现多次.那么如何才能改进正则表达式以允许/只允许一次?

java regex

6
推荐指数
1
解决办法
469
查看次数

jaxb2 maven插件和执行标签内的配置

我尝试使用 JAXB2 maven 插件从一堆 .xsd 文件生成 java 代码。如果我尝试在一次执行中从所有 xsd 生成,我将得到org.xml.sax.SAXParseException: 'root' is already defined. 我无法修改 xsd 文件,因此我需要独立生成每个文件。我找到了以下 pom 配置来实现这一目标:

<plugin>
<groupId>org.codehaus.mojo</groupId>
<artifactId>jaxb2-maven-plugin</artifactId>
<version>1.3</version>
<executions>
    <execution>
        <id>jaxb-Execution1</id>
        <phase>generate-sources</phase>
        <goals><goal>xjc</goal></goals>
        <configuration>
            <schemaDirectory>${jaxbSchemaDirectory}</schemaDirectory>
            <outputDirectory>${jaxbGenerateDirectory}</outputDirectory>
            <staleFile>${jaxbGenerateDirectory}/.staleFlagExecution1</staleFile>
            <bindingDirectory>${jaxbSchemaDirectory}</bindingDirectory>
            <bindingFiles>bindings1.xml</bindingFiles>
            <schemaFiles>schema1.xsd</schemaFiles>
            <clearOutputDir>false</clearOutputDir>
        </configuration>
    </execution>
    <execution>
        <id>jaxb-Execution2</id>
        <phase>generate-sources</phase>
        <goals><goal>xjc</goal></goals>
        <configuration>
            <schemaDirectory>${jaxbSchemaDirectory}</schemaDirectory>
            <outputDirectory>${jaxbGenerateDirectory}</outputDirectory>
            <staleFile>${jaxbGenerateDirectory}/.staleFlagExecution2</staleFile>
            <bindingDirectory>${jaxbSchemaDirectory}</bindingDirectory>
            <bindingFiles>bindings2.xml</bindingFiles>
            <schemaFiles>schema2.xsd</schemaFiles>
            <clearOutputDir>false</clearOutputDir>
        </configuration>
    </execution>
</executions>
Run Code Online (Sandbox Code Playgroud)

但这是行不通的。问题是配置不是从执行块内部读取的。这是为什么?我使用的是maven 2.2.1。

configuration jaxb2 maven

0
推荐指数
1
解决办法
3483
查看次数

标签 统计

configuration ×1

java ×1

jaxb2 ×1

maven ×1

regex ×1