正则表达式匹配*,à和?

时间:2015-01-28 14:37:58

标签: java regex pattern-matching expression

正则表达式对我来说是最困难的。我需要Java中的正则表达式

1) 17-08-15 11.04A &AD4 USFR EN 00*

My TRY:\d[1-9]+\-\d[1-9]+\-\d[1-9]+\s+\d[1-9]\.\d[1-9]+\w+\s+&+\w+\d\s+\w+\s+\w+\s+\d+

&安培;和*>>是第一个问题,如果有更好的正则表达式,请建议。

2)17-08-15 11.04A &AD4 USER 0002******** j? j? à?&AD4N

问题>> *******和?,&,`如何将这些包含在正则表达式中。

我已经google了很多,但只有简单的正则表达式可用。这些工具生成所有常量类型正则表达式,因为它在注册表中就像

一样
16\-09\-14\s+11\.04A\s+&AD4\s+USER\s+EN\s+00

它包含所有内容,因此这种正则表达式对我没用。

由于

1 个答案:

答案 0 :(得分:1)

要搜索某些特殊字符(例如&和*),您需要将\放在前面:\*\&

1)你的正则表达式是错误的。据我所知,第一组代表日期,所以你的正则表达式甚至可以用于这样的日期:32-99-15。这同样适用于时间。您可以在此处查看:https://regex101.com/r/tX1iD9/2

以下是截至&17-08-15 11.04A的日期和时间部分的正则表达式:

(0[1-9]|[12]\d|30)-(0[1-9]|1[0-2])-[0-9]{2}\s(0\d|1[1-2])\.([0-5]\d){1,2}(A|P)\s\&

它支持12小时的时间,AP在最后和正确的日期,您可以在此处测试:https://regex101.com/r/mF9dQ9/3

对于整个字符串,您可以在此处找到正则表达式:https://regex101.com/r/mF9dQ9/4

2)第二个正则表达式:

(0[1-9]|[12]\d|30)-(0[1-9]|1[0-2])-[0-9]{2}\s+(0\d|1[1-2])\.([0-5]\d){1,2}(A|P)\s\&[A-Z]{2}\d\s+[A-Z]{4}\s+(\d|\*){12}\s\w\?\s\w\?\s\à\?\&\w{2}\d\w

https://regex101.com/r/eT8eY6/1