Java正则表达式:如何表达可以是任何内容的字符串?
我一直在与一个在线正则表达式测试人员合作开发一个Java正则表达式 我想要的是一个正则表达式,它将匹配strong开头的特定模式、字符串结尾的特定模式以及该字符串中介于两者之间的任何内容 例如,文件名的结构如下Java正则表达式:如何表达可以是任何内容的字符串?,java,regex,Java,Regex,我一直在与一个在线正则表达式测试人员合作开发一个Java正则表达式 我想要的是一个正则表达式,它将匹配strong开头的特定模式、字符串结尾的特定模式以及该字符串中介于两者之间的任何内容 例如,文件名的结构如下 ^StartOfAFileName_middleOfAFileName_EndOfAFileName.java$ “\u文件名”可以是任何东西 我在正则表达式测试仪中尝试了类似的方法,但失败了: ^StartOfAFileName_**\***_EndOfAFileName.java$
^StartOfAFileName_middleOfAFileName_EndOfAFileName.java$
“\u文件名”
可以是任何东西
我在正则表达式测试仪中尝试了类似的方法,但失败了:
^StartOfAFileName_**\***_EndOfAFileName.java$
你知道Java正则表达式等价于
“*”
或任何字符串/任何模式是什么吗?它是*
。
是“任意字符,*
是任意数量的字符”
在代码/上下文中:
String str = "StartOfAFileName_middleOfAFileName_EndOfAFileName.java";
String pattern = "^StartOfAFileName.*EndOfAFileName.java$";
System.out.println(str.matches(pattern) ? "\nMATCHES" : "\nDOESN'T MATCH");
StartOfAFileName\u endofailname.java
是否被视为有效(即中间部分的空内容是否可以)?StartOfAFileName\u endofailname.java
(即,如果空内容可以,是否可以省略其中一个下划线)?我试过了。在正则表达式测试仪中,我使用的句点被视为文本。一个.java$matches.java的模式,句点不解释为任何字符。我试过了。*但在晚上没用regex@Steve不管您的正则表达式测试人员怎么说,在正则表达式中,Java的模式类将
解释为任何字符。这是程序的一部分。@Steve请显示您的代码,它可以帮助我们指出错误(若有)。