我想删除dd /或/ dd /或/ dd但是如果是/ dd /我想用/替换它,使它看起来像MM / YYYY。
dd/MM/YYYY
MM/dd/YYYY
MM/YYYY/dd
[^\p{Alpha}]*d+[^\p{Alpha}]*
以上是我目前的正则表达式。
我想要实现的是, MM / YYYY YYYY / MM
现在,如果我替换/ dd /,则会导致
MMYYYY 要么 YYYYMM
答案 0 :(得分:1)
就可理解性而言,最好的一个是将三个选项拼写为替代选择:
/dd(?=/)|^dd/|/dd$
那是:
/dd(?=/)
字符串" / dd"文本中的任何地方,然后是(正向前瞻)a" /" ^dd/
字符串" dd /"在文本的开头/dd$
字符串" / dd"在文本的最后第一个替代方案是在" / dd"之后用结束斜线编写的预测。这样斜杠就不会消耗掉,并留在字符串中,以便" MM / dd / YYYY"在中间保留一个斜线。
答案 1 :(得分:0)
我认为您正在寻找的是Java中的Pattern
和Matcher
类。尝试为正则表达式找到匹配项,并为每次匹配调用replaceAll()
或replaceOne()
函数。
https://docs.oracle.com/javase/7/docs/api/java/util/regex/Pattern.html
答案 2 :(得分:0)
您可以使用正则表达式实现此目的:d
。
不确定{{1}}您的意思是数字还是{{1}}。 你在那里的正则表达式更通用,匹配远远超过要求。