【问题标题】:RegExp for file endings in java?Java中文件结尾的RegEx?
【发布时间】:2015-11-11 08:23:42
【问题描述】:

如何编写一个正则表达式来验证 *.fileending 的字符串,例如:

*.java; *.xml; ....

我想要验证模式是否为*.<sometext>; 等等......

字符串可以是这样的:

*.java;   *.xml; *.c;

现在我想验证该字符串是否由*.anyending; 和多个模式等组成..

有什么想法吗?

【问题讨论】:

    标签: java regex regex-lookarounds


    【解决方案1】:

    您可以使用类似以下模式的方式来执行此操作:

    "(\\*\\.[a-z]+;\\s*)+"
    

    这匹配一次或多次:

    • *\\*)开头
    • 后跟一个句点 (\\.)
    • 后跟一个或多个小写字母 ([a-z]+)
    • 后跟分号 (;)
    • 后跟零个或多个空白字符 (\\s*)。

    【讨论】:

    • 谢谢!是否也可以允许使用小写或大写的多重模式?喜欢;字符串:*.JAVA; *.xml; ??
    • 如果你想允许java,则将[a-z]更改为[A-Za-z]+JAVAJaVa([A-Z]+|[a-z]+)如果你不想要JaVa
    • 检查Java Pattern docs 您可以将单词字符 [a-zA-Z_0-9] 与 \w 匹配,这一切都在那里进行了解释。请注意,要在正则表达式模式中获取“\w”,您需要转义“\”字符,使其变为“\\w”。
    • 如果这是为了验证一个字符串,也许它应该被锚定到行首和行尾:"^\\s*(?:\\*\\.\\w+\\s*;\\s*)+$"
    • 谢谢大家!但无法让 ([A-Z]+|[a-z]+) 工作:( 已修复;忘记了最后一个 ' + '
    猜你喜欢
    • 2023-04-02
    • 1970-01-01
    • 2014-08-26
    • 1970-01-01
    • 2014-09-21
    • 2018-01-15
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多