Anonymous user
Module:String: Difference between revisions
add nomatch option to str.match
Enwikipedia>Dragons flight (adds updated match support with wider parameter choices, whitespace handling, etc.) |
Enwikipedia>WOSlinker (add nomatch option to str.match) |
||
Line 113:
Usage:
{{#invoke:String|match|source_string|pattern_string|start_index|match_number|plain_flag|nomatch_output}}
OR
{{#invoke:String|pos|s=source_string|pattern=pattern_string|start=start_index
|match=match_number|plain=plain_flag|nomatch=nomatch_output}}
Parameters
Line 128:
counting from the last match. Hence match = -1 is the same as requesting
the last match. Defaults to 1.
text. Defaults to false.
nomatch: If no match is found, output the "nomatch" value rather than an error.
If invoked using named parameters, Mediawiki will automatically remove any leading or
Line 148 ⟶ 149:
]]
function str.match( frame )
local new_args = str._getParameters( frame.args, {'s', 'pattern', 'start', 'match', 'plain', 'nomatch'} );
local s = new_args['s'] or '';
local start = tonumber( new_args['start'] ) or 1;
Line 154 ⟶ 155:
local pattern = new_args['pattern'] or '';
local match_index = math.floor( tonumber(new_args['match']) or 1 );
local nomatch = new_args['nomatch'];
if s == '' then
Line 204 ⟶ 206:
if result == nil then
return str._error( 'Match not found' );
else
return nomatch;
end
else
return result;
|