正则表达式对我来说是最困难的。我需要 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 用户 0002******** j? j? à?&AD4N
问题>> ******** 和 ?,&,` 如何将它们包含在正则表达式中。
我在谷歌上搜索了很多,但只有简单的正则表达式可用。这些工具正在生成所有常量类型正则表达式,并采用 reg ex 中的字符串,例如
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\&
它支持 12 小时制,末尾带有 A
或 P
以及正确的日期,您可以在这里测试: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
关于java - 正则表达式匹配 *,à 和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28194932/