[英](Swift) How to find all strings that matches regex in string
func findSrcs(_ content: String) {
if let match = content.range(of: """
(?<=src=")[^"]+
""", options: .regularExpression) {
print(content.substring(with: match))
}
}
上面的函數需要返回 html 字符串中的所有src
。 “內容”是 HTML 字符串。
函數可以工作,但只從 Content 打印第一張圖像的 src。 如何捕捉所有這些?
您需要使用類似於此使用的一個條件,而手動發現在你的字符串中的所有事件后,並得到串子序列,而不是它的范圍:
func findSrcs(_ content: String) -> [Substring] {
let pattern = #"(?<=src=")[^"]+"#
var srcs: [Substring] = []
var startIndex = content.startIndex
while let range = content[startIndex...].range(of: pattern, options: .regularExpression) {
srcs.append(content[range])
startIndex = range.upperBound
}
return srcs
}
游樂場測試:
let content = """
<span>whatever</span>
<img src="smiley.gif" alt="Smiley face">
<span>whatever</span>
<img src="stackoverflow.jpg" alt="Stack Overflow">
"""
print(findSrcs(content))
這將打印
["smiley.gif", "stackoverflow.jpg"]
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.