首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何用数据获取数据

如何用数据获取数据
EN

Stack Overflow用户
提问于 2021-02-10 12:31:25
回答 1查看 40关注 0票数 0

我试着用这个regex .*[%].*(?:.*|(?:\n.+)*)来获取块。

我想得到包含%运算符的行,如下所示:

代码语言:javascript
复制
Match 1:
Test14%=SN54LS161AJ=U14, 

Match 2:
U15%=123131CCC11=U15, LOGIC , ---, 40394 
[Unit] = 
[Diag] = Tests ERROR

Match 3:
P10%=SN54LS161AJ=U14, LOGIC , ---, 40734 

Match 4:
X10%=123C11=U15, LO
[Unit] = 
[Diag] = Tests ERROR 70

Match 5:
N20%=SN54LS161AJ=U14, LO

Match 6:
N20%=123C11=N20
[Unit] = 
[Diag] = Tests ERROR 2

我在这里尝试一个例子:https://regex101.com/r/BPLJlJ/1

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-02-10 13:00:20

在您尝试的模式中,这个部分(?:\n.+)*将不会被计算为第一个可选的.*总是匹配的,并且只有一行将被匹配。

您可以将模式更新为

代码语言:javascript
复制
[^\r\n%]*%.*(?:\n.+)*

Regex演示

或者更具体的模式可能是:

代码语言:javascript
复制
^[^\r\n%]*\d%=.*(?:\r?\n\[[^][\r\n]*].*)*
  • ^[^\r\n%]*匹配除换行符或%以外的任何字符
  • \d%=.*匹配一个数字,%=和行的其余部分
  • (?:非捕获群
    • \r?\n
    • \[[^][\r\n]*].*[...]和行的其余部分匹配

  • )*关闭组并可选择地重复它

Regex演示

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/66136937

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档