Difference between revisions of "regexFind"
Jump to navigation
Jump to search
m (Fixed "regex pattern" link) |
Lou Montana (talk | contribs) m (Fix) |
||
(4 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= offset: [[Number]] - (Optional, default: 0) has to be in range from 0 to | + | |p3= offset: [[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]], [["boOkie", 7]], [["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 15:44, 1 July 2022
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
- offset: 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:
- Example 3:
- Example 4:
- Multiline example:
- Example 5:
- 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