regex - REGEX '\K' 不在 RUTA 中工作,但在 REGEX buidler 中工作
问题描述
我正在尝试使用以下 REGEX 从模式中提取最后 3 个字符,该模式在在线 REGEX 测试器中工作,但在 RUTA 中不工作。
以下是我在在线 REGEX 构建器中尝试过的代码: https ://regex101.com/r/2JN9a5/1
以下是我在 RUTA 中尝试过的代码:
"(?i)\\b([QI]{2}|[Q])[\\s || -]{0,2}[0-9]{5,}[\\s || -]{0,2}\\K[A-Z]{3}\\b" -> EntityType;
- 输入 :
Q-123456-PAD
Exp O/p:
PAD
输入 :
QI-1234567-PLB
- Exp O/P:
PLB
解决方案
如果是,Pega
那么试试这个
PACKAGE uima.ruta.example;
DECLARE VarA;
DECLARE VarB;
DECLARE VarC;
W{REGEXP("Q|QI") -> MARK(VarA)}
(WS|"-")?
NUM{REGEXP(".{1,7}")-> MARK(VarB)}
(WS|"-")?
W{REGEXP(".{1,3}")-> MARK(VarC),MARK(EntityType,5,5), UNMARK(VarA), UNMARK(VarB), UNMARK(VarC)};
解释:-
(WS|"-")?
:- 空格或“-”。?
如果其中一个已修复,您可以删除。
NUM{REGEXP(".{1,7}")
:- 1 到 7 之间的数字。
W{REGEXP(".{1,3}")
:- 大写字母 1 到 3。
MARK(EntityType,5,5)
:- 仅标记第 5 行。即W{REGEXP(".{1,3}")
。如果你标记MARK(EntityType,1,5)
,那么它将返回Q-123456-PAD
。
推荐阅读
- python - 如何获取弹性搜索页面增量元素
- autohotkey - 自动热键:绑定
至 在保留某些行为的同时 - excel - 具有过滤值范围的 SUMIF
- c# - 我很想解决我程序中的未知问题
- spring - Azurite 只能使用 http?
- kubernetes - 如何更改calico监听默认端口?
- ios - 你可以用一种颜色为 15x15 网格中的一系列文本视图着色,而另一个用不同的颜色着色吗?
- azure - 在自定义策略中使用显示控件时如何在 mfa 页面上自动填充电子邮件字段
- gatsby - 使用 gatsby-source-filesystem 获取 Excel 文件
- javascript - 创建多参数函数的正确方法