NAME App::StringQueryToRegexpUtils - CLIs for String::Query::To::Regexp VERSION This document describes version 0.001 of App::StringQueryToRegexpUtils (from Perl distribution App-StringQueryToRegexpUtils), released on 2022-11-04. DESCRIPTION This distribution includes the following command-line utilities: * query2re FUNCTIONS query2re Usage: query2re(%args) -> any Convert a query to regex and show it. Examples: * Must match all terms: query2re(queries => ["term1", "term2"]); # -> "(?^s:\\A(?=.*term1)(?=.*term2).*\\z)" * Must contain term1 and term2 but must not contain term3: query2re(queries => ["term1", "term2", "-term3"]); Result: "(?^s:\\A(?=.*term1)(?=.*term2)(?!.*term3).*\\z)" * Need to only match one term, search case-insensitively: query2re(queries => ["term1", "term2", "term3"], bool => "or", ci => 1); Result: "(?^si:\\A(?:(?=.*term1)|(?=.*term2)|(?=.*term3)).*\\z)" * Regex in term: query2re(queries => ["term1", "/term2.*/", "term3"]); Result: "(?^s:\\A(?=.*term1)(?=.*(?^:term2.*))(?=.*term3).*\\z)" * Word searching (terms must be whole words): query2re(queries => ["word1", "word2", "word3"], word => 1); Result: "(?^s:\\A(?=.*\\bword1\\b)(?=.*\\bword2\\b)(?=.*\\bword3\\b).*\\z)" * Disallow regex searching: query2re(queries => ["term1", "/term2.+/", "term3"], re => 0); Result: "(?^s:\\A(?=.*term1)(?=.*\\/term2\\.\\+\\/)(?=.*term3).*\\z)" This function is not exported. Arguments ('*' denotes required arguments): * bool => *str* (default: "and") (No description) * ci => *true* Search case-insensitively. * queries* => *array[str]* Query terms. * re => *bool* (default: 1) Whether to allow regex in query terms. * word => *true* Perform word searching (terms must be whole words). Return value: (any) HOMEPAGE Please visit the project's homepage at . SOURCE Source repository is at . SEE ALSO String::Query::To::Regexp AUTHOR perlancar CONTRIBUTING To contribute, you can send patches by email/via RT, or send pull requests on GitHub. Most of the time, you don't need to build the distribution yourself. You can simply modify the code, then test via: % prove -l If you want to build the distribution (e.g. to try to install it locally on your system), you can install Dist::Zilla, Dist::Zilla::PluginBundle::Author::PERLANCAR, Pod::Weaver::PluginBundle::Author::PERLANCAR, and sometimes one or two other Dist::Zilla- and/or Pod::Weaver plugins. Any additional steps required beyond that are considered a bug and can be reported to me. COPYRIGHT AND LICENSE This software is copyright (c) 2022 by perlancar . This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself. BUGS Please report any bugs or feature requests on the bugtracker website When submitting a bug or request, please include a test-file or a patch to an existing test-file that illustrates the bug or desired feature.