[英]regex get rid of capturing groups
我有以下正则表达式:( (?i)p\\w+@t(-)?\\w+(-\\w+)?(\\.\\w+)?\\.at
哪个匹配的数据像
papFoo@t-bar.at
PapBar@tfoo.ring.at
如何重写此正则表达式以使用非捕获组?
[?i]p\\w+@t[-]?\\w+[-\\w+]?[\\.\\w+]?\\.at
将不再匹配任何结果 (?:?i)p\\w+@t(?:-)?\\w+(?:-\\w+)?(?:\\.\\w+)?\\.at
同样在这里 即(?i)p
应该可写为?ip
我想但是在https://regex101.com上我只是在尝试使用时遇到错误(?:?i)p\\w+@t(?:-)?\\w+(?:-\\w+)?(?:\\.\\w+)?\\.at
with non-captchuring groups。
最后python3应该评估正则表达式。
第一个“组” (?i)
不是捕获组,它是一个标志集,打开表达式的不区分大小写。 非捕获版本应该是:
(?i)p\w+@t-?\w+(?:-\w+)?(?:\.\w+)?\.at
哪个匹配正确。
你可以用
(?i)p\w+@t(?:-)?\w+(?:-\w+)?(?:\.\w+)?\.at
请参阅regex101.com上的演示 。
正如其他人所指出的, (?i)
是一个内联修饰符,如(?s)
(单线)或(?m)
(多线)。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.