getGroupStart: Difference between revisions

From RPTools Wiki
Jump to navigation Jump to search
No edit summary
m (Text replacement - "<source" to "<syntaxhighlight")
 
(6 intermediate revisions by 3 users not shown)
Line 1: Line 1:
{{MacroFunction
{{MacroFunction
|name=getGroupStart
|name=getGroupStart
|version=1.3b48
|description=Returns the start index of the specified capture group for the specified match that was found using [[strfind|strfind()]]
|description=Returns the start index of the specified capture group for the specified match that was found using [[strfind|strfind()]]


|usage=
|usage=
<source lang="mtmacro" line>
<syntaxhighlight lang="mtmacro" line>
[h: text = 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 13: 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 19: 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