我想从Java中的字符串中删除第一次出现的模式。正则表达式模式的问题
来源字符串:DUMMY01012016DUMMY01012016
格式是1-8的字母数字字符,后面跟随任意数目字母数字的日期MMddyyyy
。
想要实现的是删除所有开头的字符,包括第一次发生的日期。所以在下面的例子中,我将留下DUMMY01012016
。
这里是什么,我已经尝试了简化版本:".*\\d{4}(2016|2017|2015)"
直到模式匹配不止一次效果很好。因此在示例matcher.replaceFirst("")
将会替换整个源字符串,而不仅仅是第一次出现。
任何想法将不胜感激。
谢谢。斯蒂芬
'。\ d {4}(2016 | 2017 | 2015)。?'如何匹配您的模式?这不符合_1-8字母数字字符的格式,后跟日期MMddyyyy,后跟任意数量的字母数字。 – 2016-04-14 18:50:02
[使用正则表达式获取字符串中模式的索引]可能的重复(http://stackoverflow.com/questions/8938498/get-the-index-of-a-pattern-in-a-string-using-正则表达式) – flakes
“字母数字字符”你真的是指*字母*字符,即字母? “字母数字”包括数字。 –