On 2021-12-09 12:38:15 +0000, Shaozhong SHI wrote: > Does anyone know how to detect repeated phrase in a string? Use regular expressions with backreferences: bayes=> select regexp_match('foo wikiwiki bar', '(.+)\1'); ╔══════════════╗ ║ regexp_match ║ ╟──────────────╢ ║ {o} ║ ╚══════════════╝ (1 row) "o" is repeated in "foo". bayes=> select regexp_match('fo wikiwiki bar', '(.+)\1'); ╔══════════════╗ ║ regexp_match ║ ╟──────────────╢ ║ {wiki} ║ ╚══════════════╝ (1 row) "wiki" is repeated in "wikiwiki". bayes=> select regexp_match('fo wikiwi bar', '(.+)\1'); ╔══════════════╗ ║ regexp_match ║ ╟──────────────╢ ║ (∅) ║ ╚══════════════╝ (1 row) nothing is repeated. Adjust the expression within parentheses if you want to match somethig more specific than any sequence of one or more characters. hp -- _ | Peter J. Holzer | Story must make more sense than reality. |_|_) | | | | | hjp@xxxxxx | -- Charles Stross, "Creative writing __/ | http://www.hjp.at/ | challenge!"
Attachment:
signature.asc
Description: PGP signature