Regex 仅当某个字符出现在特定数量的字符之后时,才删除该字符后面的所有内容的正则表达式
我在找一个简单的正则表达式 例1:Regex 仅当某个字符出现在特定数量的字符之后时,才删除该字符后面的所有内容的正则表达式,regex,string,character,Regex,String,Character,我在找一个简单的正则表达式 例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且符号@未出现在第5个索引上或之前,则假定字符串从索引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且符号@未出现在第5个索引上或之前,则假定字符串从索引1开始,然后删除所有内容,包括第二次出现@后的@符号
如果不满足上述规则,则保留字符串的原样
谢谢你,瓦伦
^(?!(?:@|.@|.{2}@|.{3}@|.{4}@))(.*?@.*?)@.*$
试试这个。换成1美元。见演示
试试这个。换成1美元。见演示
试试这个。换成1美元。见演示
试试这个。换成1美元。见演示
您可以使用此正则表达式捕获希望保留在第一组中的零件:
(^[^@]{5,}@[^@]*)@
表达式匹配至少有两个@符号的字符串,第一个@不出现在最初的五个字符内
这将捕获abcde@varun,但不是abcd@varun,因为@出现在最初的五个字符内
将5替换为n以根据需要更改前缀的长度。您可以使用此正则表达式捕获要保留在第一组中的部分:
(^[^@]{5,}@[^@]*)@
表达式匹配至少有两个@符号的字符串,第一个@不出现在最初的五个字符内
这将捕获abcde@varun,但不是abcd@varun,因为@出现在最初的五个字符内
将5替换为n以根据需要更改前缀的长度。您可以使用此正则表达式捕获要保留在第一组中的部分:
(^[^@]{5,}@[^@]*)@
表达式匹配至少有两个@符号的字符串,第一个@不出现在最初的五个字符内
这将捕获abcde@varun,但不是abcd@varun,因为@出现在最初的五个字符内
将5替换为n以根据需要更改前缀的长度。您可以使用此正则表达式捕获要保留在第一组中的部分:
(^[^@]{5,}@[^@]*)@
表达式匹配至少有两个@符号的字符串,第一个@不出现在最初的五个字符内
这将捕获abcde@varun,但不是abcd@varun,因为@出现在最初的五个字符内
将5替换为n以根据需要更改前缀的长度。是否尝试解决此问题?同时在@上指定您的语言/工具拆分,如果第一个元素长度超过4,只需将前两个元素连接起来,否则什么也不做。您尝试过解决它吗?同时在@上指定您的语言/工具拆分,如果第一个元素长度超过4,只需将前两个元素连接起来,否则什么也不做。您尝试过解决它吗?同时在@上指定您的语言/工具拆分,如果第一个元素长度超过4,只需将前两个元素连接起来,否则什么也不做。您尝试过解决它吗?还要在@上指定语言/工具拆分,如果第一个元素长度超过4,只需将前两个元素连接起来,否则什么也不做。