赞
踩
grex 既是一个库也是一个命令行工具,它可以自动从用户提供的测试用例生成单个正则表达式。
https://github.com/pemistahl/grex
grex
可以根据用户提供的测试用例生成正则表达式。
grex [OPTIONS] {输入...|--file <文件>}
[输入...]
:一个或多个以空格分隔的测试用例。-f, --file <文件>
:从一个文件中读取测试用例,每个测试用例占一行。-d, --digits
:将任何 Unicode 十进制数字转换为 \d
。-D, --non-digits
:将任何不是 Unicode 十进制数字的字符转换为 \D
。-s, --spaces
:将任何 Unicode 空白字符转换为 \s
。-S, --non-spaces
:将任何不是 Unicode 空白字符的字符转换为 \S
。-w, --words
:将任何 Unicode 单词字符转换为 \w
。-W, --non-words
:将任何不是 Unicode 单词字符的字符转换为 \W
。-e, --escape
:将所有非 ASCII 字符替换为 Unicode 转义序列。--with-surrogates
:如果设置了 --escape
,则将星号代码点转换为代理对。-r, --repetitions
:检测重复的非重叠子字符串并转换为 {min,max}
量词表示法。--min-repetitions <数量>
:指定如果设置了 --repetitions
,则要转换的子字符串重复的最小数量,默认为 1。--min-substring-length <长度>
:指定如果设置了 --repetitions
,则要转换的重复子字符串的最小长度,默认为 1。--no-start-anchor
:从生成的正则表达式中移除脱字符锚点 ^
。--no-end-anchor
:从生成的正则表达式中移除美元符号锚点 $
。--no-anchors
:从生成的正则表达式中移除脱字符和美元符号锚点。-x, --verbose
:在详细模式下生成更易于阅读的正则表达式。-c, --colorize
:为生成的正则表达式提供语法高亮。-i, --ignore-case
:执行不区分大小写的匹配,字母匹配大写或小写。-g, --capture-groups
:将非捕获组替换为捕获组。-h, --help
:打印帮助信息。-v, --version
:打印版本信息。$ grex a b c ^[a-c]$ $ grex a c d e f ^[ac-f]$ $ grex a b x de ^(?:de|[abx])$ $ grex abc bc ^a?bc$ $ grex a b bc ^(?:bc?|a)$ $ grex [a-z] ^\[a\-z\]$ $ grex -r b ba baa baaa ^b(?:a{1,3})?$ $ grex -r b ba baa baaaa ^b(?:a{1,2}|a{4})?$ $ grex y̆ a z ^(?:y̆|[az])$ 注: 图元 y̆ 由两个 Unicode 符号组成: U+0079 (拉丁小写字母 Y) U+0306 (组合式短音符号) $ grex "I ♥ cake" "I ♥ cookies" ^I ♥ c(?:ookies|ake)$ 注: 包含空格的输入必须用引号括起来。
以下命令行用法中 <INPUT>
为字符串 I ♥♥♥ 36 and ٣ and
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。