import Foundation
let pattern = #"^( \d|\d\d) "#
let regex = try! NSRegularExpression(pattern: pattern, options: .anchorsMatchLines)
let testString = #"""
1 (function(inDesignMode) {
2 'use strict';
3 ObjC.import('stdlib');
4
5 function getPluginParameter(name) {
6 var envName = "KMPARAM_" + name.replace(/ /g, "_");
7 var result;
8
9 if (!inDesignMode) {
10 result = $.getenv(envName);
11 return result ? result.trim() : "";
12 }
13
14 var designingParams = {
15 KMPARAM_Sort_Order: "newest first",
16 KMPARAM_Timestamp_Format: "date + time + duration"
17 };
18
19 result = designingParams[envName];
20 if (result === undefined)
21 throw Error("Unknown Plugin Parameter Name '" + name + "' while in designing mode");
22 return result;
23 }
24
25 function execute() {
26 var sortOrder = getPluginParameter("Sort Order");
27 var timestampFormat = getPluginParameter("Timestamp Format");
28
29 return "Sort Order: '" + sortOrder + "'\nTimestamp Format: '" + timestampFormat + "'";
30 }
31
32 if (inDesignMode) {
33 return execute();
34 } else {
35 try {
36 return execute();
37 } catch (e) {
38 return e.message;
39 }
40 }
41 })(true);
"""#
let stringRange = NSRange(location: 0, length: testString.utf16.count)
let substitutionString = #""#
let result = regex.stringByReplacingMatches(in: testString, range: stringRange, withTemplate: substitutionString)
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