繁体   English   中英

如何对点分符号字符串的子集进行正则表达式匹配

[英]How to do regex match on subset of dotted-notation strings

我想匹配多点符号表达式,但如果它们在它们所在的行中,则忽略它们:

- inside a particular string like 'consts'
- inside a comment
- inside a quoted string

所以我不想在这 3 行上匹配任何东西

a.b.consts.d.e
comment line 'a.b.c.d
quote line "a.b.c.d"

但要匹配这 3 行的部分

asdf a.b.c.d
a.b c.d .e c.d.e
long a.b.c.d.e.f.g

我已经尝试了一些前瞻/落后/否定的想法,并取得了部分成功,但没有任何东西可以同时满足所有条件。

请参阅此处的一个正则表达式尝试,该尝试使用上述描述文本作为要匹配的实际文本: https : //regex101.com/r/dSinUs/6

这可以帮助你,它有点复杂,但它可以完成工作

^\b((?!\.\w{2,}\.)[^"'])+(\s*\w{1}\s*\.)+\w$

https://regex101.com/r/dSinUs/7

由于[az.\\s]* ,此表达式在许多情况下可能会失败,但它可能会提供关于我们如何开始解决这个复杂问题的不同视角,但我不确定可能需要或不需要什么:

^(?!(.*["'])|(.*[a-z]\.consts\.[a-z].*))[a-z.\s]*$

演示

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM