带有空格的断开链接的正则表达式
Regex for broken links with whitespaces
我正在使用这个正则表达式
private static final String HREF_PATTERN =
"\s*(?i)href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">\s]+))";
从
得到 link
<a href=www.example.com/1234 5678>
URL 格式错误。它包含一个空格。问题是我想得到整个 link 包括“5678”,但我只得到 "www.example.com/1234".
我不太擅长正则表达式。有人可以提供一个有效的正则表达式,以便我可以获得整个 url "www.example.com/1234 5678".
谢谢
The external program creates an html Email with several <a href=www.example.com/1234 5678>
tags.
假设您无法在源级别修复它,您可以尝试使用正则表达式修复它。
如果href
属性是唯一的属性,你就不用关心=
后面的空格了。从您的模式中删除 \s
,它将起作用。
private static final String HREF_PATTERN =
"(?i)\s*href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">]+))";
^
如果您有带值的属性,则必须使用前瞻:
private static final String HREF_PATTERN =
(?i)\s*href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">]+(?=>|\s+\w+=)))
但是,这不适用于 nofollow
.
等属性
我正在使用这个正则表达式
private static final String HREF_PATTERN =
"\s*(?i)href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">\s]+))";
从
得到 link <a href=www.example.com/1234 5678>
URL 格式错误。它包含一个空格。问题是我想得到整个 link 包括“5678”,但我只得到 "www.example.com/1234".
我不太擅长正则表达式。有人可以提供一个有效的正则表达式,以便我可以获得整个 url "www.example.com/1234 5678".
谢谢
The external program creates an html Email with several
<a href=www.example.com/1234 5678>
tags.
假设您无法在源级别修复它,您可以尝试使用正则表达式修复它。
如果href
属性是唯一的属性,你就不用关心=
后面的空格了。从您的模式中删除 \s
,它将起作用。
private static final String HREF_PATTERN =
"(?i)\s*href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">]+))";
^
如果您有带值的属性,则必须使用前瞻:
private static final String HREF_PATTERN =
(?i)\s*href\s*=\s*(\"([^\"]*\")|'[^']*'|([^'\">]+(?=>|\s+\w+=)))
但是,这不适用于 nofollow
.