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

Regex matching *,à and?

me.I 中最难的正则表达式需要 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

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

我用谷歌搜索了很多,但只有简单的正则表达式 available.And 这些工具正在生成所有常量类型的正则表达式,采用正则表达式中的字符串,例如

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

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

谢谢

要搜索一些特殊字符(如 & 和 *),您需要通过在前面加上 \ 来转义它们:\*\&.

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\&

支持以AP结尾的12小时制和正确的日期,你可以在这里测试: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