![]() |
1
8
见Perl Lingua::EN::Words2Nums 和 Lingua::EN::FindNumber .
尤其是,
source code for
从属于 Perl's Artistic License . 你可以使用 Regex::PreSuf 要自动排除常见的前缀和后缀:
输出: C:\Temp> cvb (?:eight|f(?:ive|our)|nine|one|s(?:even|ix)|t(?:hree|wo)) 1 2 3 4 5 6 7 8 9 恐怕以后会更难了;—) |
![]() |
2
3
Perl具有许多模块,这些模块可以使用不同的技术来生成优化的正则表达式(主要只使用标准特征,因此应该在Java中可用)。您可以在中看到regexp::assembly、regexp::list、regexp::optimizer和regex::presuf输出的示例。
http://groups.google.com/group/perl.perl5.porters/msg/132877aee7542015
. 从Perl5.10开始,Perl本身通常优化
|
![]() |
3
0
你想做什么?你在使用什么算法? 我不熟悉Java正则表达式引擎,但是我使用的其他ReX引擎(Perl,AWK)允许您捕获匹配。例如,如果您尝试匹配: 一百一十万 你可以有一个regex,它可以识别一百万,它之前的任何东西(即“一”),以及它之后的所有东西(即“十万一百”)。之前的内容将被捕获以进行额外的匹配(使用您的数百、数十和一个regex),之后的内容将被捕获以进行额外的匹配(使用您的数千个regex、数百个regex、数十个regex或一个regex)。 这个算法是自然递归的,并且不会太难实现。不知道你想要完成的细节或Java的正则表达式引擎的细节,我不能提出更多的建议。 |
![]() |
4
0
Regex真的是一个糟糕的方法。就我个人而言,我只需要创建一个所有已知单词的小地图,并以这种方式进行搜索。(搜索每个词,当你找到一个匹配词时,确定它旁边的词是否匹配,然后继续搜索直到你有了数字)。 |
![]() |
Manny · 如何比较Perl中的字符串? 3 年前 |
![]() |
BioRod · 我不能用Perl打印键和值 3 年前 |
![]() |
user17227456 · Perl CLI代码无法追加字符串行 3 年前 |
![]() |
LearnToBeBetter · 读取文件,搜索字符串,打印字符串 3 年前 |
![]() |
KJ7LNW · 一些波斯语文本的宽字符印刷,但其他文本则没有 3 年前 |
![]() |
con · 如何搜索大型数据结构并返回一系列给出特定值的键/数组? 3 年前 |
![]() |
Pranay Nanda · 使用regex解析许可证文件 7 年前 |