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

标签 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 用户 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 小时制,末尾带有 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

关于java - 正则表达式匹配 *,à 和?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28194932/

相关文章:

java - 在 JVM 上启用逃逸分析的经验

java - 跨多个服务器运行 Java 实例?

java - 尝试了解 Servlet 调用的计数

javascript - 如何在 ace 中向 mode-xml.js 添加新的突出显示规则?

pattern-matching - 像 OCaml 这样的语言是如何实现模式匹配的?

c# - 正则表达式 - 在线任何地方的负面回顾

java - 编译没有依赖的Java代码

php - 使用正则表达式查找和替换 SQL 查询

regex - 如何根据目录名称更改多个文件的内容?

language-agnostic - 非二元函数的结合性、交换性和单位元