需要正则表达式模式的帮助

Need help in regex pattern

本文关键字:帮助 模式 正则表达式      更新时间:2023-09-26

>我有这个正则表达式模式

'=[a-zA-Z'.':'[']_'(')'&'$'%#'-'@'!0-9;='?/'+'xBF'~]+[?'s+|?>]

我有这个 HTML

1.<a href="mailto: abc@xyz.com?subject=Long Term Care Enrollment">esc@xyz.com</a>
2.<a href="mailto: abc@xyz.com?subject=LongTerm Care Enrollment">johnross@zys.com</a>
3.<a href="mailto: abc@xyz.com?subject=LongTermCareEnrollment">johnross@wen.com</a>

这里的问题是,我需要避免第一个和第二个,因为它也有空格并且它是有效的属性。但只有第三个在工作,因为它没有空格。表示不应使用上述模式选择任何内容。

这是测试的直接链接

http://regexr.com?31r61

请帮忙!谢谢

编辑:如果您只想匹配不带引号的属性,这应该有效:

[<'s]+['w]+(=[^'"][^'s>]*)

有点不优雅,但让我知道这是否符合您的要求。


您要匹配哪种模式?这三个?如果是这样,哪一部分?主题还是电子邮件?如果您只是尝试匹配主题,请尝试将其用作匹配的模式:

'='"mailto:[^?]*'?subject=([^'"]*)'"'>

这将返回一个匹配项,其中组是主题本身。

这是一个邪恶的角色类....

你为什么不尝试一些更合理的东西。试试这个...

'=".*?(?<!'')"

如果这是您要获得的,这将匹配 href 之后括号中的任何内容。如果您正在寻找更多内容,则可以轻松修改此正则表达式。