regexFind: Difference between revisions
Jump to navigation
Jump to search
Matty Smith (talk | contribs) m (Fixed repeated word) |
Lou Montana (talk | contribs) m (Text replacement - "↵↵</sqf>" to " </sqf>") |
||
(8 intermediate revisions by 2 users not shown) | |||
Line 4: | Line 4: | ||
|version1= 2.06 | |version1= 2.06 | ||
|descr= | |descr= Searches in a string with a regular expression. | ||
{{Feature|informative|See [[Arma 3: Regular Expressions]].}} | |||
|gr1= Strings - Regular Expression | |gr1= Strings - Regular Expression | ||
|s1= haystack [[ | |s1= haystack [[regexFind]] [pattern, startOffset] | ||
|p1= haystack: [[String]] | |p1= haystack: [[String]] | ||
|p2= pattern: [[String]] - | |p2= pattern: [[String]] - format [[Arma 3: Regular Expressions|regex pattern]] | ||
|p3= | |p3= startOffset: [[Number]] - (Optional, default 0) has to be in range from 0 to <sqf inline>count haystack</sqf> (''haystack''<nowiki/>'s length) | ||
|r1= [[Array]] of nested arrays. Each lowest level array in format: | |r1= [[Array]] of nested arrays. Each lowest level array in format: | ||
* 0: [[String]] - | * 0: [[String]] - match | ||
* 1: [[Number]] - | * 1: [[Number]] - offset of given match relative to ''haystack'' beginning (the provided ''offset'' is ignored) | ||
|x1= < | |x1= <sqf>"wooKie boOkie cookie" regexFind [".ookie/gio"]; // [[["wooKie", 0]], [<nowiki/>["boOkie", 7]], [<nowiki/>["cookie", 14]]]</sqf> | ||
|x2= < | |x2= <sqf>"wooKie boOkie cookie" regexFind [".ookie/i"]; // [[["wooKie",0]]]</sqf> | ||
|x3= < | |x3= <sqf>"wooKie boOkie cookie" regexFind [".ookie/"]; // [[["cookie", 14]]]</sqf> | ||
|x4= Multiline example:< | |x4= Multiline example: | ||
co2kie" | <sqf> | ||
"co1kie2 | |||
co2kie" regexFind ["^co.kie$"]; // [[["co2kie",9]]]</sqf> | |||
|x5= < | |x5= <sqf> | ||
"I'm a cookie clicker" regexFind ["c(.*?)k(.*?)e/i"]; // [[["cookie",6], ["oo", 7], ["i", 10]]] | |||
</sqf> | |||
|x6= < | |x6= <sqf>"I'm a cookie clicker" regexFind ["c(.*?)k(.*?)e"]; // [[["cookie", 6], ["oo", 7], ["i", 10]], [["clicke", 13], ["lic", 14], ["", 18]]]</sqf> | ||
|seealso= [[regexMatch]] [[regexReplace]] | |seealso= [[regexMatch]] [[regexReplace]] | ||
}} | }} |
Latest revision as of 19:48, 3 September 2024
Description
- Description:
- Searches in a string with a regular expression.
- Groups:
- Strings - Regular Expression
Syntax
- Syntax:
- haystack regexFind [pattern, startOffset]
- Parameters:
- haystack: String
- pattern: String - format regex pattern
- startOffset: Number - (Optional, default 0) has to be in range from 0 to count haystack (haystack's length)
- Return Value:
- Array of nested arrays. Each lowest level array in format:
Examples
- Example 1:
- "wooKie boOkie cookie" regexFind [".ookie/gio"]; // [[["wooKie", 0]], [["boOkie", 7]], [["cookie", 14]]]
- Example 2:
- "wooKie boOkie cookie" regexFind [".ookie/i"]; // [[["wooKie",0]]]
- Example 3:
- "wooKie boOkie cookie" regexFind [".ookie/"]; // [[["cookie", 14]]]
- Example 4:
- Multiline example:
"co1kie2 co2kie" regexFind ["^co.kie$"]; // [[["co2kie",9]]]
- Example 5:
- "I'm a cookie clicker" regexFind ["c(.*?)k(.*?)e/i"]; // [[["cookie",6], ["oo", 7], ["i", 10]]]
- Example 6:
- "I'm a cookie clicker" regexFind ["c(.*?)k(.*?)e"]; // [[["cookie", 6], ["oo", 7], ["i", 10]], [["clicke", 13], ["lic", 14], ["", 18]]]
Additional Information
- See also:
- regexMatch regexReplace
Notes
-
Report bugs on the Feedback Tracker and/or discuss them on the Arma Discord or on the Forums.
Only post proven facts here! Add Note