Regex 带有双引号正则表达式或验证功能的电子邮件
由于严格的要求,我在这里面临一个非常具有挑战性的正则表达式 我需要创建一个正则表达式或验证函数,使我能够:Regex 带有双引号正则表达式或验证功能的电子邮件,regex,validation,regex-negation,regex-lookarounds,Regex,Validation,Regex Negation,Regex Lookarounds,由于严格的要求,我在这里面临一个非常具有挑战性的正则表达式 我需要创建一个正则表达式或验证函数,使我能够: 用户将在文本字段中输入: xxxx”aaaa\”bbbbb\”ccccccc\”ddddd\”eeeeee”yyyyy”ffffff\”ggggg\”hhhh\”iiiii\”jjjj”wwww 我需要把所有的双引号字符串放在这个大字符串中,我需要把它填满。(在这种情况下: ”aaaa\”bbbbb\”ccccccc\”ddddd\”eeeeee” and ”ffffff\”gggg
- 用户将在文本字段中输入:
xxxx”aaaa\”bbbbb\”ccccccc\”ddddd\”eeeeee”yyyyy”ffffff\”ggggg\”hhhh\”iiiii\”jjjj”wwww
- 我需要把所有的双引号字符串放在这个大字符串中,我需要把它填满。(在这种情况下:
”aaaa\”bbbbb\”ccccccc\”ddddd\”eeeeee” and ”ffffff\”ggggg\”hhhh\”iiiii\”jjjj” )
- 然后我需要检查是否所有引号都被正确转义,以及是否使用了一些已定义的字符
( e.g. tis pattern [a-zA-Z0-9!#\$%&'\*\+-/=\?\^_`\{|\}~"\(\),:;<>@\[\\\]] )
这不是我需要的。对此有什么想法吗?这是一个使用反向查找的好例子,您可以使用此正则表达式获取所需的内容:
”.*?(?<!\\)”
(".+?(?:[^\\]"))
然后,您可以在此字符串上应用所需的逻辑。如果您使用的是Javascript,它不支持建议的lookbehinds,那么这就是您想要的:
”.*?(?<!\\)”
(".+?(?:[^\\]"))
说明:
捕获组(
一个引号,后跟任意数量的字符“+?
非捕获组(?:
前面没有反斜杠的引号[^\\]“
结束非捕获组)
结束捕获组)
(".+?(?:[^\\]"))