import Foundation
let pattern = #"(.*\d{5,}.*)|(^(\,|\.|\\|\'|\-|\?|\*|\(|\@|\^|\=|\/|\%|\").*)|(.*(\<|\>|\[|\]|\;).*)|(.*(\.html|\.php).*)|^(\d\.\d)|(^\\.*)|(^\%.*\%)|(\d{1,3}(((x|\.|\.[[:space:]]){1,2})|[[:space:]])\d{1,3})|.*x$|^0[a-z]*|.{50,}"#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
<script>alert('hai');</script>
0.8
003902
,eja kerja
.akeup
081320266690
1 set meja kursi
0elan
meja makan
100 meja
12 cm
10023995
]
"abcd"
\yj magnolia
%m087%
't. shower set kris prem rev wht ptss-0211-5w
-tangga/kamar-mandi/1kvigy-jual-title-deck-karpet-anti-licin-bath-mat-anti-slip
? sarapan✅ lunch crew✅ snack crew✅ video on process undangan ? roundown ✅ backdrops✅ photo booth✅ documentation ✅ rooms hotel ? catering ? panggung ? opening speech ? flag dance ✅ door prizes? seragam ? cue card ?. d . ,
?meja?
'merlott mylo set meja makan
*"tangga"*
@meja
(u/6)
*晶杯子
/*meja*/
/%meja
====
^meja^
14 pcs radiator cup tester ( top quality ) alat tes kebocoran radiator
120x200x35 cm jty202 ubah lokasi produk hanya bisa di ambil di lippo plaza kupang (informa) verified brand linotela dikirim oleh ruparupa detail produk
640 × 640gambar mungkin memiliki hak cipta. pelajari lebih lanjut kuncibengkel
%meja
%mp18.html
100x
25x25
250x250
123. 456
123.456
123 456
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let matches = regex.matches(in: testString, range: stringRange)
var result: [[String]] = []
for match in matches {
var groups: [String] = []
for rangeIndex in 1 ..< match.numberOfRanges {
let nsRange = match.range(at: rangeIndex)
guard !NSEqualRanges(nsRange, NSMakeRange(NSNotFound, 0)) else { continue }
let string = (testString as NSString).substring(with: nsRange)
groups.append(string)
}
if !groups.isEmpty {
result.append(groups)
}
}
print(result)
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for Swift 5.2, please visit: https://developer.apple.com/documentation/foundation/nsregularexpression