getGroupStart: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
m (Conversion script moved page getGroupStart to GetGroupStart without leaving a redirect: Converting page title to first-letter uppercase)
m (Text replacement - "<source" to "<syntaxhighlight")
 
(3 intermediate revisions by 2 users not shown)
Line 5: Line 5:


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
getGroupStart(id, match, group)
getGroupStart(id, match, group)
</source>
</syntaxhighlight>
Where  
Where  
* id is the id returned by [[strfind|strfind()]]
* id is the id returned by [[strfind|strfind()]]
Line 14: Line 14:


|example=
|example=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: id = strfind("this is a test", "(\\S+)\\s(\\S+)\\s*")]
[h: id = strfind("this is a test", "(\\S+)\\s(\\S+)\\s*")]
match 1, group 1 start = [getGroupStart(id, 1, 1)]<br>
match 1, group 1 start = [getGroupStart(id, 1, 1)]<br>
Line 20: Line 20:
match 2, group 1 start = [getGroupStart(id, 2, 1)]<br>
match 2, group 1 start = [getGroupStart(id, 2, 1)]<br>
match 2, group 2 start = [getGroupStart(id, 2, 2)]<br>
match 2, group 2 start = [getGroupStart(id, 2, 2)]<br>
</source>
</syntaxhighlight>
Returns
Returns
<pre>
<pre>

Latest revision as of 23:59, 14 March 2023

getGroupStart() Function

Introduced in version 1.3b48
Returns the start index of the specified capture group for the specified match that was found using strfind()

Usage

getGroupStart(id, match, group)

Where

  • id is the id returned by strfind()
  • match is the number of the match found by strfind()
  • group is the number of the capture group found by strfind()

Example

[h: id = strfind("this is a test", "(\\S+)\\s(\\S+)\\s*")]
match 1, group 1 start = [getGroupStart(id, 1, 1)]<br>
match 1, group 2 start = [getGroupStart(id, 1, 2)]<br>
match 2, group 1 start = [getGroupStart(id, 2, 1)]<br>
match 2, group 2 start = [getGroupStart(id, 2, 2)]<br>

Returns

match 1, group 1 start = 0 
match 1, group 2 start = 5 
match 2, group 1 start = 8 
match 2, group 2 start = 10