Skip to content

Instantly share code, notes, and snippets.

View xrrocha's full-sized avatar

Ricardo Rocha xrrocha

View GitHub Profile
@xrrocha
xrrocha / README-10
Last active December 16, 2020 18:08
code block for README-10
fun String.toRegex(): Regex {
return Regex(Pattern.compile(this))
}
@xrrocha
xrrocha / README-11
Last active December 16, 2020 18:09
code block for README-11
fun String.toRegex() =
Regex(Pattern.compile(this))
@xrrocha
xrrocha / README-12
Last active December 16, 2020 18:10
code block for README-12
// Two backslashes
"""\\p{InLatin}{4,}"""
@xrrocha
xrrocha / README-13
Last active December 16, 2020 18:10
code block for README-13
// One backslash
"""\p{InLatin}{4,}"""
@xrrocha
xrrocha / README-14
Last active December 16, 2020 18:11
code block for README-14
\p{IsLatin}(\p{IsLatin})\1*(?!\1)\p{IsLatin}\p{IsLatin}+
@xrrocha
xrrocha / README-15
Last active December 16, 2020 18:12
code block for README-15
// Examine text looking for matches
WORD_REGEX.matcher(text).results()
.forEach(match -> {
// Second letter
final var start = match.start() + 1;
// Penultimate letter
final var end = match.end() - 1;
final var length = end - start;
// ... shuffling stuff ...
}
@xrrocha
xrrocha / README-16
Last active December 16, 2020 18:12
code block for README-16
// Examine text looking for matches
WORD_REGEX.findAll(text)
.forEach { match ->
// Define range of inner letters
val range: IntRange =
match.range.first + 1
until match.range.last
// ... shuffling stuff ...
}
@xrrocha
xrrocha / README-17
Last active December 16, 2020 18:13
code block for README-17
// Shuffle inner letter array
for (var i = start; i < end; i++) {
// Choose a random index in region
final var rndIdx =
start + random.nextInt(length);
// Swap current/random chars
final var save = result[rndIdx];
result[rndIdx] = result[i];
result[i] = save;
}
@xrrocha
xrrocha / README-18
Last active December 16, 2020 18:13
code block for README-18
// Shuffle inner letter array
for (i in range) {
// Choose a random index in region
val rndIdx: Int = range.random()
// Swap current/random chars
result[rndIdx] = result[i].also {
result[i] = result[rndIdx]
}
}
@xrrocha
xrrocha / README-19
Last active December 16, 2020 18:15
code block for README-19
// Java
do {
// ... shuffling stuff...
// Ensure shuffling took place!
} while(IntStream.range(start, end)
.allMatch(i ->
result[i] == text.charAt(i)
}));