gpt4 book ai didi

regex - perl regexp 与 sas - 精确匹配其中之一

转载 作者:行者123 更新时间:2023-12-02 10:52:28 26 4
gpt4 key购买 nike

我需要提取文本中以文字或数字书写的数字。

我有一张看起来像这样的 table ,

... 1 child ...
... three children ...
...four children ...
...2 children...
...five children

我想捕获用文字或数字书写的数字。每行有一个数字。因此所需的输出将是:

1
three
four
2
five

我的正则表达式看起来像这样:

prxparse("/one|two|three|four|five|six|seven|eight|nine|ten|eleven|twelve|thirteen|child|\d\d?/")

有什么帮助吗?

最佳答案

描述

此正则表达式将匹配字符串中的数字,前提是数字被空格或符号包围。

(?<=\s|^)(?:[0-9]+|one|two|three|four|five|six|seven|eight|nine|ten)(?=\s|$)

enter image description here

实例:http://www.rubular.com/r/6ua7fTb8IS

要包含 1 到 10 之外的数字的拼写单词版本,您需要包含这些数字。这个正则表达式将捕获从零到一百的数字[不包含任何拼写错误]

(?<=\s|^)(?:[0-9]+|(?:(?:twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety)\s)?(?:one(?:[\s-]hundred)?|two|three|four|five|six|seven|eight|nine)|ten|eleven|twelve|(?:thir|four|fif|six|seven|eight|nine)teen|twenty|thirty|forty|fifty|sixty|seventy|eighty|ninety|zero)(?=\s|$)

enter image description here

实例:http://www.rubular.com/r/EIa18nx731

Perl 示例

 $string = <<END;
... 1 child ...
... three children ...
... four children ...
... 2 children...
... five children
END
@matches = $string =~ m/(?<=\s|^)[0-9]+|one|two|three|four|five|six|seven|eight|nine|ten(?=\s|$)/gi;
print join("\n", @matches);

产量

1
three
four
2
five

关于regex - perl regexp 与 sas - 精确匹配其中之一,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17062895/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com