* make match() case insensitive by default
This commit is contained in:
parent
81c693c65e
commit
acf5ad8aba
|
@ -1,5 +1,7 @@
|
||||||
// File operations
|
|
||||||
import static net.sourceforge.tuned.FileUtilities.*;
|
import static net.sourceforge.tuned.FileUtilities.*
|
||||||
|
import java.util.regex.Pattern
|
||||||
|
|
||||||
|
|
||||||
// simplified switch/case pattern matching
|
// simplified switch/case pattern matching
|
||||||
Object.metaClass.match = { Map cases -> def val = delegate; cases.findResult { switch(val) { case it.key: return it.value} } }
|
Object.metaClass.match = { Map cases -> def val = delegate; cases.findResult { switch(val) { case it.key: return it.value} } }
|
||||||
|
@ -39,7 +41,7 @@ String.metaClass.pad = Number.metaClass.pad = { length = 2, padding = "0" -> del
|
||||||
/**
|
/**
|
||||||
* Return a substring matching the given pattern or break.
|
* Return a substring matching the given pattern or break.
|
||||||
*/
|
*/
|
||||||
String.metaClass.match = { String pattern, int matchGroup = 0 -> def matcher = delegate =~ pattern; if (matcher.find()) return matcher.group(matchGroup) else throw new Exception("Match failed") }
|
String.metaClass.match = { String pattern, int matchGroup = 0 -> def matcher = Pattern.compile(pattern, Pattern.CASE_INSENSITIVE | Pattern.UNICODE_CASE).matcher(delegate); if (matcher.find()) return matcher.group(matchGroup) else throw new Exception("Match failed") }
|
||||||
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|
Loading…
Reference in New Issue