我试图用this regex捕获span
中的文本。但我不明白为什么这样不行
字符串
<span class="text">mas Deus disse: ‘Não comam do fruto da árvore que está no meio do jardim, nem toquem nele; do contrário vocês morrerão’ ".</span>
正则表达式
<span class=\"text\">([a-zA-Z%$#@*+=§ß|,.:;!?&\-_()\[\]\/\\{}ÁáÉéÍíÓóÚúÂâÊêÔôçãõÄäËëÏïÖöÜüÀà\"\'‘’ªº ]+)<\/span>
怎么了
问题出在你的
"
。解决方法是简单地将不可见的空间添加到正则表达式中,<span class=\"text\">([a-zA-Z%$#@*+=§ß|,.:;!?&\-_()\[\]\/\\{}ÁáÉéÍíÓóÚúÂâÊêÔôçãõÄäËëÏïÖöÜüÀà\"\'‘’ªº ]+)<\/span>
注意stackoverlow会将奇怪的空间转换为普通空间,因此在这个答案中粘贴正则表达式将不起作用。您必须将它从代码中粘贴到link在vim中粘贴文本并搜索
(纯空格)
"
中的空格不会突出显示。检查这个奇怪的空间会发现它是一个 
,字符代码是240免责声明: Regex不用于解析html。但似乎op正在做快速刮削,我认为在这种情况下使用regex是好的
如果您可以选择使用negated class来排除不允许的字符,而不是将允许的字符添加到类中,这样可能会更好地可读性和可维护性
[^<]+
匹配一个或多个不是<
的字符\s+
匹配一个或多个空格[ \t\r\n\f]
李>See demo at regex101
相关问题 更多 >
编程相关推荐