我用谷歌搜索我的答案,但无法得到答案。因为我是正则表达式的新手。我需要在这里提出我的问题。
我有一个文本文件,我需要在其中替换"MM/dd/yyyy hh:mm:ss a"
格式的日期值的内容。
示例内容:
<td> Order is Placed on:</td>
<td>The date and time is 12/08/2013 05:46:56 PM</td>
我需要通过仅替换日期值来获得结果输出。类似的东西:
<td> Order is Placed on:</td>
<td>The date and time is </td>
此日期值可以在任何地方出现。周围没有特定的后缀或前缀。
以下代码中上述预期结果的正则表达式是什么:
String textLine = readline.replaceAll("some_regex","");
谢谢。
解决方案是:
String textLine = readline.replaceAll("\\d{2}/\\d{2}/\\d{4}\\s\\d{2}:\\d{2}:\\d{2}\\s(?:AM|PM)", "");
谢谢 - @Antoniossss
答案 0 :(得分:3)
REGEX:
\d{2}/\d{2}/\d{4}\s\d{2}:\d{2}:\d{2}\s(?:AM|PM)
这符合一般模式,但会接受无效日期,这似乎不是您的担忧。
答案 1 :(得分:0)
不要忘记在正则表达式符号前使用反斜杠:
String pattern = "\\d{2}";
解释Antoniossss中使用的符号答案:
例如:\ d {2}搜索两位数字
答案 2 :(得分:0)