从文本中很容易将数字识别为数字或整数,但当数字在自然语言文本中作为文字书写时就不容易了.
为了使用正则表达式识别数字,可以使用以下正则表达式.
digits_recognize = r'[0-9]+'
如何开发一种模式来识别写为数字的数字?
从文本中很容易将数字识别为数字或整数,但当数字在自然语言文本中作为文字书写时就不容易了.
为了使用正则表达式识别数字,可以使用以下正则表达式.
digits_recognize = r'[0-9]+'
如何开发一种模式来识别写为数字的数字?
以下解决方案仅适用于Python 3.6
之后的版本.
one_to_9 = '((f(ive|our)|s(even|ix)|[tT](hree|wo)|(ni|o)ne|eight))'
ten_to_19 = '((([sS](even|ix)|[fF](our|if)|[nN]ine)[tT][eE]|[eE](ighte|lev))en|[tT]((hirte)?en|welve))'
two_digit_prefix = '((s(even|ix)|[tT](hir|wen)|f(if|or)|eigh|nine)ty)'
one_to_99 = fr'({two_digit_prefix}([- ]{one_to_9})?|{ten_to_19}|{one_to_9})'
one_to_999 = fr'({one_to_9}[ ]hundred([ ](and[ ])?{one_to_99})?|{one_to_99})'
compiled_pattern = re.compile(one_to_999)
答案改编自here.