我正在使用此正则表达式从分号分隔的字符串中解析 URL。
\b(?:https?:|http?:|www\.)\S+\b
如果我的输入文本是这些格式,它工作正常:
"Google;\"https://google.com\""
//output - https://google.com
"Yahoo;\"www.yahoo.com\""
//output - www.yahoo.com
但在这种情况下它给出了不正确的字符串
"https://google.com;\"https://google.com\""
//output - https://google.com;\"https://google.com
遇到';'时如何停止解析?
请您参考如下方法:
查看您的示例,我会匹配引号之间的任何 URL。像这样:
(?<=")(?:https?:|www\.)[^"]*
或者如其他人所说,使用 string.Split 按分号字符拆分输入字符串,并按顺序检查每个字符串是否符合您的要求。
