java - Java 正则表达式匹配比较运算符
问题描述
我需要一个正则表达式来匹配这样的东西
key>value
key=value
key.subkey>=value
这是我的正则表达式
([a-zA-Z]*\.{0,1}[a-zA-Z]*)([=|>|<|>=|<=]{1})(.*)
它适用于大多数情况,但 >= 和 <= 除外
例子:
test>=123
Group
0 test>=123
1 test
2 >
3 =123
我如何指定最后一组不以特殊字符开头?
解决方案
您可以使用
([a-zA-Z]+(?:\.[a-zA-Z]+)?)([<>]=|[=><])(.*)
查看正则表达式演示
细节
([a-zA-Z]+(?:\.[a-zA-Z]+)?)
- 第 1 组:1+ ASCII 字母后跟可选的点序列和 1+ ASCII 字母([<>]=|[=><])
- 第 2 组:<
or>
然后=
, or a=
,<
, or>
(所以较长的,<=
or>=
先尝试)(.*)
- 第 3 组:除换行符之外的任何 0 个或多个字符,尽可能多。
推荐阅读
- nexus3 - Nexus3 清理策略因 NullPointerException 而失败
- sql - 如何在 SQL 中选择具有循环条件的记录
- python - MySQL 语句在不应该使用 fetchone() 时返回无
- php - 用php显示最多的部分
- jdbc - GCP BigQuery 数据传输服务中的错误:找不到适合 jdbc:redshift:// 的驱动程序
- javascript - Google Analytics 每分钟只发送一个事件
- html - 如何允许在嵌入式 SVG 中引用外部图像?
- javascript - Javascript如何检测由CSS动画改变的div的img内容?
- vba - 在 Excel 中使用 VBA 检查日期是否在给定的两天之间
- java - Log4j2 记录到控制台而不是文件