[英]Regex for removing everything after a certain character only if the character occurs after a specific number of characters
我正在为此寻找一个简单的正则表达式,
范例1:
n = 5
Input: abcde@varun@gmail.com
Output: abcde@varun
范例2:
n = 5
Input: abcd@varun@gmail.com
Output: abcd@varun@gmail.com
这意味着,如果n = 5,如果符号@ 不为ON或第五索引之前存在的(假设字符串在索引1处开始),然后卸下的第二次数毕竟一切(包括@符号)@。
如果不满足上述规则,则保留字符串原样。
谢谢瓦伦。
您可以使用此正则表达式将要保留的零件捕获到第一组中:
(^[^@]{5,}@[^@]*)@
该表达式匹配的字符串至少具有两个@
符号,第一个@
不会出现在开头的五个字符内。
这将捕获abcde@varun
,但不会捕获abcd@varun
,因为@
出现abcd@varun
五个字符内。
用n
替换5
以根据需要更改前缀的长度。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.