为了账号安全,请及时绑定邮箱和手机立即绑定

正则表达式匹配带或不带逗号和文本小数的数字

/ 猿问

正则表达式匹配带或不带逗号和文本小数的数字

慕妹3242003 2019-07-23 19:17:36

正则表达式匹配带或不带逗号和文本小数的数字

我正在尝试查找并替换文本正文中的所有数字。我找到了一些示例正则表达式,几乎解决了问题,但没有一个是完美的。我遇到的问题是我的文本中的数字可能有也可能没有小数和逗号。例如:

“5000磅的狐狸跳过99,999.99998713英尺的围栏。”

正则表达式应该返回“ 5000”和“ 99,999.99998713”。示例我发现分解逗号上的数字或限制为两位小数。我开始理解正则表达式足以看出为什么有些例子限于两个小数位,但我还没有学会如何克服它并且还包括逗号以获得整个序列。

这是我的最新版本:

[0-9]+(\.[0-9][0-9]?)?

对于上述文本5000,返回“ ”,“ 99,99”,“ 9.99”和“ 998713”。


查看完整描述

2 回答

?
精慕HU

编辑:由于这已经获得了很多观点,让我首先给每个人他们用Google搜索的内容:

#ALL THESE REQUIRE THE WHOLE STRING TO BE A NUMBER

#For numbers embedded in sentences, see discussion below


#### NUMBERS AND DECIMALS ONLY ####

#No commas allowed

#Pass: (1000.0), (001), (.001)

#Fail: (1,000.0)

^\d*\.?\d+$


#No commas allowed

#Can't start with "."

#Pass: (0.01)

#Fail: (.01)

^(\d+\.)?\d+$


#### CURRENCY ####

#No commas allowed

#"$" optional

#Can't start with "."

#Either 0 or 2 decimal digits

#Pass: ($1000), (1.00), ($0.11)

#Fail: ($1.0), (1.), ($1.000), ($.11)

^\$?\d+(\.\d{2})?$


#### COMMA-GROUPED ####

#Commas required between powers of 1,000

#Can't start with "."

#Pass: (1,000,000), (0.001)

#Fail: (1000000), (1,00,00,00), (.001)

^\d{1,3}(,\d{3})*(\.\d+)?$


#Commas required

#Cannot be empty

#Pass: (1,000.100), (.001)

#Fail: (1000), ()

^(?=.)(\d{1,3}(,\d{3})*)?(\.\d+)?$


#Commas optional as long as they're consistent

#Can't start with "."

#Pass: (1,000,000), (1000000)

#Fail: (10000,000), (1,00,00)

^(\d+|\d{1,3}(,\d{3})*)(\.\d+)?$


#### LEADING AND TRAILING ZEROES ####

#No commas allowed

#Can't start with "."

#No leading zeroes in integer part

#Pass: (1.00), (0.00)

#Fail: (001)

^([1-9]\d*|0)(\.\d+)?$


#No commas allowed

#Can't start with "."

#No trailing zeroes in decimal part

#Pass: (1), (0.1)

#Fail: (1.00), (0.1000)

^\d+(\.\d*[1-9])?$

现在已经不再这样了,以下大部分内容都是对复杂正则表达式如果能够巧妙地使用它以及为什么要寻找替代方案的评论。阅读风险自负。


这是一个很常见的任务,但我到目前为止看到这里的答案将接受不数字格式相匹配的输入,如,111,9,9,9或甚.,,.。即使数字嵌入在其他文本中,这也很容易修复。恕我直言,任何未能拉1,234.56和1234- 并且只有那些数字 - abc22 1,234.56 9.9.9.9 def 1234是错误的答案。


首先,如果您不需要在一个正则表达式中执行此操作,请不要这样做。即使它们未嵌入到其他文本中,也难以维护两种不同数字格式的单个正则表达式。你应该做的是将整个事物分成空白,然后在结果上运行两到三个较小的正则表达式。如果这不适合您,请继续阅读。


基本模式

考虑到你给出的例子,这里有一个简单的正则表达式,允许几乎任何整数或十进制0000格式并阻止其他一切:


^\d*\.?\d+$

这是一个需要0,000格式的:


^\d{1,3}(,\d{3})*(\.\d+)?$

把它们放在一起,只要它们是一致的,逗号就变成可选的:


^(\d*\.?\d+|\d{1,3}(,\d{3})*(\.\d+)?)$

嵌入数字

上述模式要求整个输入为数字。您正在寻找嵌入文本中的数字,因此您必须放松该部分。在另一方面,你不想它,看catch22,并认为它的发现在22号。如果您使用的是与回顾后支持(如.NET)的东西,这是很容易:更换^同(?<!\S)和$与(?!\S)你是好去:


(?<!\S)(\d*\.?\d+|\d{1,3}(,\d{3})*(\.\d+)?)(?!\S)

如果您正在使用JavaScript或Ruby或其他东西,事情开始变得更复杂:


(?:^|\s)(\d*\.?\d+|\d{1,3}(?:,\d{3})*(?:\.\d+)?)(?!\S)

你必须使用捕获组; 没有外观支持,我想不出另类。您想要的数字将在第1组(假设整个匹配为第0组)。


验证和更复杂的规则

我认为这涵盖了你的问题,所以如果这就是你所需要的,请立即停止阅读。如果你想变得更有魅力,事情会变得非常复杂。根据您的具体情况,您可能希望阻止以下任何或所有情况:


空输入

前导零(例如000123)

尾随零(例如1.2340000)

以小数点开头的小数(例如.001而不是0.001)

只是为了它的地狱,让我们假设您要阻止前3个,但允许最后一个。你该怎么办?我会告诉你应该做什么,你应该为每个规则使用不同的正则表达式,并逐步缩小你的匹配范围。但是为了挑战,这里是你如何在一个巨大的模式中做到这一切:


(?<!\S)(?=.)(0|([1-9](\d*|\d{0,2}(,\d{3})*)))?(\.\d*[1-9])?(?!\S)

这就是它的含义:


(?<!\S) to (?!\S) #The whole match must be surrounded by either whitespace or line boundaries. So if you see something bogus like :;:9.:, ignore the 9.

(?=.)             #The whole thing can't be blank.


(                    #Rules for the integer part:

  0                  #1. The integer part could just be 0...

  |                  #

  [1-9]              #   ...otherwise, it can't have leading zeroes.

  (                  #

    \d*              #2. It could use no commas at all...

    |                #

    \d{0,2}(,\d{3})* #   ...or it could be comma-separated groups of 3 digits each.

  )                  # 

)?                   #3. Or there could be no integer part at all.


(       #Rules for the decimal part:

  \.    #1. It must start with a decimal point...

  \d*   #2. ...followed by a string of numeric digits only.

  [1-9] #3. It can't be just the decimal point, and it can't end in 0.

)?      #4. The whole decimal part is also optional. Remember, we checked at the beginning to make sure the whole thing wasn't blank.

在此测试:http//rextester.com/YPG96786

这将允许以下内容:


100,000

999.999

90.0009

1,000,023.999

0.111

.111

0

它会阻止像:


1,1,1.111

000,001.111

999.

0.

111.110000

1.1.1.111

9.909,888

有几种方法可以使这个正则表达式更简单,更短,但要明白,更改模式会放松它认为的数字。


由于许多正则表达式引擎(例如JavaScript和Ruby)不支持负面的后观,因此正确执行此操作的唯一方法是使用捕获组:


(:?^|\s)(?=.)((?:0|(?:[1-9](?:\d*|\d{0,2}(?:,\d{3})*)))?(?:\.\d*[1-9])?)(?!\S)

您正在寻找的数字将在捕获组1中。


在这里测试:http//rubular.com/r/3HCSkndzhT

最后一点说明

显然,这是一个庞大,复杂,难以理解的正则表达式。我很享受这个挑战,但您应该考虑是否真的想在生产环境中使用它。你可以用两个方法来完成所有事情:一个正则表达式可以捕获任何可能是数字的东西,然后另一个可以清除任何不是数字的东西。或者您可以进行一些基本处理,然后使用您的语言的内置数字解析功能。你的选择。


查看完整回答
反对 回复 2019-07-23
?
拉莫斯之舞

几天前,我研究了从数字字符串中删除尾随零的问题

在这个问题的连续性中,我发现这个问题很有意思,因为它将问题扩展到包含逗号的数字。

我已经采用了我在上一个问题中编写的正则表达式模式,并且我对其进行了改进,以便它可以用逗号处理数字作为此问题的答案。

我的热情和对正则表达的喜爱让我感到震惊。我不知道结果是否完全符合Michael Prescott表达的需要。我有兴趣知道我的正则表达式中过多或缺乏的要点,并纠正它以使其更适合您。

现在,在对这个正则表达式进行了长时间的研究之后,我在大脑中有一种重量,所以我不够新鲜,不能给出很多解释。如果积分不明确,如果有人对此感兴趣,请问我。

正则表达式是建立,以便它可以检测以科学计数法表示的数字2E10甚至5,22,454.12E-00.0478,在这些数字的两个部分删除不必要的零了。如果指数等于零,则修改数字,以便不再有指数。

我在模式中加入了一些验证,以便某些特定情况不匹配,例如'12 ..57'将不匹配。但是在',111'中,字符串'111'匹配,因为前面的逗号被认为是逗号不在数字中而是在逗号中。

我认为应该改进逗号的管理,因为在我看来,印度编号中的逗号之间只有2位数。我认为,纠正并不是很难

以下是演示我的正则表达式如何工作的代码。有两种功能,如果有人想要将数字'.1245'转换为'0.1245'或不转换。如果某些数字字符串的错误或不需要的匹配或不匹配仍然存在,我不会感到惊讶; 那么我想知道这些案例,以了解和纠正这些不足。

我为这个用Python编写的代码道歉,但正则表达式是跨语言的,我认为每个人都有能力取消reex的模式

import re

regx = re.compile('(?<![\d.])(?!\.\.)(?<![\d.][eE][+-])(?<![\d.][eE])(?<!\d[.,])'
                  '' #---------------------------------
                  '([+-]?)'
                  '(?![\d,]*?\.[\d,]*?\.[\d,]*?)'
                  '(?:0|,(?=0)|(?<!\d),)*'
                  '(?:'
                  '((?:\d(?!\.[1-9])|,(?=\d))+)[.,]?'
                  '|\.(0)'
                  '|((?<!\.)\.\d+?)'
                  '|([\d,]+\.\d+?))'
                  '0*'
                  '' #---------------------------------
                  '(?:'
                  '([eE][+-]?)(?:0|,(?=0))*'
                  '(?:'
                  '(?!0+(?=\D|\Z))((?:\d(?!\.[1-9])|,(?=\d))+)[.,]?'
                  '|((?<!\.)\.(?!0+(?=\D|\Z))\d+?)'
                  '|([\d,]+\.(?!0+(?=\D|\Z))\d+?))'
                  '0*'
                  ')?'
                  '' #---------------------------------
                  '(?![.,]?\d)')def dzs_numbs(x,regx = regx): # ds = detect and zeros-shave
    if not regx.findall(x):
        yield ('No match,', 'No catched string,', 'No groups.')
    for mat in regx.finditer(x):
        yield (mat.group(), ''.join(mat.groups('')), mat.groups(''))def dzs_numbs2(x,regx = regx): # ds = detect and zeros-shave
    if not regx.findall(x):
        yield ('No match,', 'No catched string,', 'No groups.')
    for mat in regx.finditer(x):
        yield (mat.group(),
               ''.join(('0' if n.startswith('.') else '')+n for n in mat.groups('')),
               mat.groups(''))NS = ['  23456000and23456000. or23456000.000  00023456000 s000023456000.  000023456000.000 ',
      'arf 10000 sea10000.+10000.000  00010000-00010000. kant00010000.000 ',
      '  24:  24,  24.   24.000  24.000,   00024r 00024. blue 00024.000  ',
      '  8zoom8.  8.000  0008  0008. and0008.000  ',
      '  0   00000M0. = 000.  0.0  0.000    000.0   000.000   .000000   .0   ',
      '  .0000023456    .0000023456000   '
      '  .0005872    .0005872000   .00503   .00503000   ',
      '  .068    .0680000   .8   .8000  .123456123456    .123456123456000    ',
      '  .657   .657000   .45    .4500000   .7    .70000  0.0000023230000   000.0000023230000   ',
      '  0.0081000    0000.0081000  0.059000   0000.059000     ',
      '  0.78987400000 snow  00000.78987400000  0.4400000   00000.4400000   ',
      '  -0.5000  -0000.5000   0.90   000.90   0.7   000.7   ',
      '  2.6    00002.6   00002.60000  4.71   0004.71    0004.7100   ',
      '  23.49   00023.49   00023.490000  103.45   0000103.45   0000103.45000    ',
      '  10003.45067   000010003.45067   000010003.4506700 ',
      '  +15000.0012   +000015000.0012   +000015000.0012000    ',
      '  78000.89   000078000.89   000078000.89000    ',
      '  .0457e10   .0457000e10   00000.0457000e10  ',
      '   258e8   2580000e4   0000000002580000e4   ',
      '  0.782e10   0000.782e10   0000.7820000e10  ',
      '  1.23E2   0001.23E2  0001.2300000E2   ',
      '  432e-102  0000432e-102   004320000e-106   ',
      '  1.46e10and0001.46e10  0001.4600000e10   ',
      '  1.077e-300  0001.077e-300  0001.077000e-300   ',
      '  1.069e10   0001.069e10   0001.069000e10   ',
      '  105040.03e10  000105040.03e10  105040.0300e10    ',
      '  +286E000024.487900  -78.4500e.14500   .0140E789.  ',
      '  081,12.40E07,95.0120     0045,78,123.03500e-0.00  ',
      '  0096,78,473.0380e-0.    0008,78,373.066000E0.    0004512300.E0000  ',
      '  ..18000  25..00 36...77   2..8  ',
      '  3.8..9    .12500.     12.51.400  ',
      '  00099,111.8713000   -0012,45,83,987.26+0.000,099,88,44.or00,00,00.00must',
      '  00099,44,and   0000,099,88,44.bom',
      '00,000,00.587000  77,98,23,45.,  this,that ',
      '  ,111  145.20  +9,9,9  0012800  .,,.  1  100,000 ',
      '1,1,1.111  000,001.111   -999.  0.  111.110000  1.1.1.111  9.909,888']for ch in NS:
    print 'string: '+repr(ch)
    for strmatch, modified, the_groups in dzs_numbs2(ch):
        print strmatch.rjust(20),'',modified,'',the_groups    print

结果

string: '  23456000and23456000. or23456000.000  00023456000 s000023456000.  000023456000.000 '
            23456000  23456000  ('', '23456000', '', '', '', '', '', '', '')
           23456000.  23456000  ('', '23456000', '', '', '', '', '', '', '')
        23456000.000  23456000  ('', '23456000', '', '', '', '', '', '', '')
         00023456000  23456000  ('', '23456000', '', '', '', '', '', '', '')
       000023456000.  23456000  ('', '23456000', '', '', '', '', '', '', '')
    000023456000.000  23456000  ('', '23456000', '', '', '', '', '', '', '')string: 'arf 10000 sea10000.+10000.000  00010000-00010000. kant00010000.000 '
               10000  10000  ('', '10000', '', '', '', '', '', '', '')
              10000.  10000  ('', '10000', '', '', '', '', '', '', '')
           10000.000  10000  ('', '10000', '', '', '', '', '', '', '')
            00010000  10000  ('', '10000', '', '', '', '', '', '', '')
           00010000.  10000  ('', '10000', '', '', '', '', '', '', '')
        00010000.000  10000  ('', '10000', '', '', '', '', '', '', '')string: '  24:  24,  24.   24.000  24.000,   00024r 00024. blue 00024.000  '
                  24  24  ('', '24', '', '', '', '', '', '', '')
                 24,  24  ('', '24', '', '', '', '', '', '', '')
                 24.  24  ('', '24', '', '', '', '', '', '', '')
              24.000  24  ('', '24', '', '', '', '', '', '', '')
              24.000  24  ('', '24', '', '', '', '', '', '', '')
               00024  24  ('', '24', '', '', '', '', '', '', '')
              00024.  24  ('', '24', '', '', '', '', '', '', '')
           00024.000  24  ('', '24', '', '', '', '', '', '', '')string: '  8zoom8.  8.000  0008  0008. and0008.000  '
                   8  8  ('', '8', '', '', '', '', '', '', '')
                  8.  8  ('', '8', '', '', '', '', '', '', '')
               8.000  8  ('', '8', '', '', '', '', '', '', '')
                0008  8  ('', '8', '', '', '', '', '', '', '')
               0008.  8  ('', '8', '', '', '', '', '', '', '')
            0008.000  8  ('', '8', '', '', '', '', '', '', '')string: '  0   00000M0. = 000.  0.0  0.000    000.0   000.000   .000000   .0   '
                   0  0  ('', '0', '', '', '', '', '', '', '')
               00000  0  ('', '0', '', '', '', '', '', '', '')
                  0.  0  ('', '0', '', '', '', '', '', '', '')
                000.  0  ('', '0', '', '', '', '', '', '', '')
                 0.0  0  ('', '', '0', '', '', '', '', '', '')
               0.000  0  ('', '', '0', '', '', '', '', '', '')
               000.0  0  ('', '', '0', '', '', '', '', '', '')
             000.000  0  ('', '', '0', '', '', '', '', '', '')
             .000000  0  ('', '', '0', '', '', '', '', '', '')
                  .0  0  ('', '', '0', '', '', '', '', '', '')string: '  .0000023456    .0000023456000     .0005872    .0005872000   .00503   .00503000   '
         .0000023456  0.0000023456  ('', '', '', '.0000023456', '', '', '', '', '')
      .0000023456000  0.0000023456  ('', '', '', '.0000023456', '', '', '', '', '')
            .0005872  0.0005872  ('', '', '', '.0005872', '', '', '', '', '')
         .0005872000  0.0005872  ('', '', '', '.0005872', '', '', '', '', '')
              .00503  0.00503  ('', '', '', '.00503', '', '', '', '', '')
           .00503000  0.00503  ('', '', '', '.00503', '', '', '', '', '')string: '  .068    .0680000   .8   .8000  .123456123456    .123456123456000    '
                .068  0.068  ('', '', '', '.068', '', '', '', '', '')
            .0680000  0.068  ('', '', '', '.068', '', '', '', '', '')
                  .8  0.8  ('', '', '', '.8', '', '', '', '', '')
               .8000  0.8  ('', '', '', '.8', '', '', '', '', '')
       .123456123456  0.123456123456  ('', '', '', '.123456123456', '', '', '', '', '')
    .123456123456000  0.123456123456  ('', '', '', '.123456123456', '', '', '', '', '')string: '  .657   .657000   .45    .4500000   .7    .70000  0.0000023230000   000.0000023230000   '
                .657  0.657  ('', '', '', '.657', '', '', '', '', '')
             .657000  0.657  ('', '', '', '.657', '', '', '', '', '')
                 .45  0.45  ('', '', '', '.45', '', '', '', '', '')
            .4500000  0.45  ('', '', '', '.45', '', '', '', '', '')
                  .7  0.7  ('', '', '', '.7', '', '', '', '', '')
              .70000  0.7  ('', '', '', '.7', '', '', '', '', '')
     0.0000023230000  0.000002323  ('', '', '', '.000002323', '', '', '', '', '')
   000.0000023230000  0.000002323  ('', '', '', '.000002323', '', '', '', '', '')string: '  0.0081000    0000.0081000  0.059000   0000.059000     '
           0.0081000  0.0081  ('', '', '', '.0081', '', '', '', '', '')
        0000.0081000  0.0081  ('', '', '', '.0081', '', '', '', '', '')
            0.059000  0.059  ('', '', '', '.059', '', '', '', '', '')
         0000.059000  0.059  ('', '', '', '.059', '', '', '', '', '')string: '  0.78987400000 snow  00000.78987400000  0.4400000   00000.4400000   '
       0.78987400000  0.789874  ('', '', '', '.789874', '', '', '', '', '')
   00000.78987400000  0.789874  ('', '', '', '.789874', '', '', '', '', '')
           0.4400000  0.44  ('', '', '', '.44', '', '', '', '', '')
       00000.4400000  0.44  ('', '', '', '.44', '', '', '', '', '')string: '  -0.5000  -0000.5000   0.90   000.90   0.7   000.7   '
             -0.5000  -0.5  ('-', '', '', '.5', '', '', '', '', '')
          -0000.5000  -0.5  ('-', '', '', '.5', '', '', '', '', '')
                0.90  0.9  ('', '', '', '.9', '', '', '', '', '')
              000.90  0.9  ('', '', '', '.9', '', '', '', '', '')
                 0.7  0.7  ('', '', '', '.7', '', '', '', '', '')
               000.7  0.7  ('', '', '', '.7', '', '', '', '', '')string: '  2.6    00002.6   00002.60000  4.71   0004.71    0004.7100   '
                 2.6  2.6  ('', '', '', '', '2.6', '', '', '', '')
             00002.6  2.6  ('', '', '', '', '2.6', '', '', '', '')
         00002.60000  2.6  ('', '', '', '', '2.6', '', '', '', '')
                4.71  4.71  ('', '', '', '', '4.71', '', '', '', '')
             0004.71  4.71  ('', '', '', '', '4.71', '', '', '', '')
           0004.7100  4.71  ('', '', '', '', '4.71', '', '', '', '')string: '  23.49   00023.49   00023.490000  103.45   0000103.45   0000103.45000    '
               23.49  23.49  ('', '', '', '', '23.49', '', '', '', '')
            00023.49  23.49  ('', '', '', '', '23.49', '', '', '', '')
        00023.490000  23.49  ('', '', '', '', '23.49', '', '', '', '')
              103.45  103.45  ('', '', '', '', '103.45', '', '', '', '')
          0000103.45  103.45  ('', '', '', '', '103.45', '', '', '', '')
       0000103.45000  103.45  ('', '', '', '', '103.45', '', '', '', '')string: '  10003.45067   000010003.45067   000010003.4506700 '
         10003.45067  10003.45067  ('', '', '', '', '10003.45067', '', '', '', '')
     000010003.45067  10003.45067  ('', '', '', '', '10003.45067', '', '', '', '')
   000010003.4506700  10003.45067  ('', '', '', '', '10003.45067', '', '', '', '')string: '  +15000.0012   +000015000.0012   +000015000.0012000    '
         +15000.0012  +15000.0012  ('+', '', '', '', '15000.0012', '', '', '', '')
     +000015000.0012  +15000.0012  ('+', '', '', '', '15000.0012', '', '', '', '')
  +000015000.0012000  +15000.0012  ('+', '', '', '', '15000.0012', '', '', '', '')string: '  78000.89   000078000.89   000078000.89000    '
            78000.89  78000.89  ('', '', '', '', '78000.89', '', '', '', '')
        000078000.89  78000.89  ('', '', '', '', '78000.89', '', '', '', '')
     000078000.89000  78000.89  ('', '', '', '', '78000.89', '', '', '', '')string: '  .0457e10   .0457000e10   00000.0457000e10  '
            .0457e10  0.0457e10  ('', '', '', '.0457', '', 'e', '10', '', '')
         .0457000e10  0.0457e10  ('', '', '', '.0457', '', 'e', '10', '', '')
    00000.0457000e10  0.0457e10  ('', '', '', '.0457', '', 'e', '10', '', '')string: '   258e8   2580000e4   0000000002580000e4   '
               258e8  258e8  ('', '258', '', '', '', 'e', '8', '', '')
           2580000e4  2580000e4  ('', '2580000', '', '', '', 'e', '4', '', '')
  0000000002580000e4  2580000e4  ('', '2580000', '', '', '', 'e', '4', '', '')string: '  0.782e10   0000.782e10   0000.7820000e10  '
            0.782e10  0.782e10  ('', '', '', '.782', '', 'e', '10', '', '')
         0000.782e10  0.782e10  ('', '', '', '.782', '', 'e', '10', '', '')
     0000.7820000e10  0.782e10  ('', '', '', '.782', '', 'e', '10', '', '')string: '  1.23E2   0001.23E2  0001.2300000E2   '
              1.23E2  1.23E2  ('', '', '', '', '1.23', 'E', '2', '', '')
           0001.23E2  1.23E2  ('', '', '', '', '1.23', 'E', '2', '', '')
      0001.2300000E2  1.23E2  ('', '', '', '', '1.23', 'E', '2', '', '')string: '  432e-102  0000432e-102   004320000e-106   '
            432e-102  432e-102  ('', '432', '', '', '', 'e-', '102', '', '')
        0000432e-102  432e-102  ('', '432', '', '', '', 'e-', '102', '', '')
      004320000e-106  4320000e-106  ('', '4320000', '', '', '', 'e-', '106', '', '')string: '  1.46e10and0001.46e10  0001.4600000e10   '
             1.46e10  1.46e10  ('', '', '', '', '1.46', 'e', '10', '', '')
          0001.46e10  1.46e10  ('', '', '', '', '1.46', 'e', '10', '', '')
     0001.4600000e10  1.46e10  ('', '', '', '', '1.46', 'e', '10', '', '')string: '  1.077e-300  0001.077e-300  0001.077000e-300   '
          1.077e-300  1.077e-300  ('', '', '', '', '1.077', 'e-', '300', '', '')
       0001.077e-300  1.077e-300  ('', '', '', '', '1.077', 'e-', '300', '', '')
    0001.077000e-300  1.077e-300  ('', '', '', '', '1.077', 'e-', '300', '', '')string: '  1.069e10   0001.069e10   0001.069000e10   '
            1.069e10  1.069e10  ('', '', '', '', '1.069', 'e', '10', '', '')
         0001.069e10  1.069e10  ('', '', '', '', '1.069', 'e', '10', '', '')
      0001.069000e10  1.069e10  ('', '', '', '', '1.069', 'e', '10', '', '')string: '  105040.03e10  000105040.03e10  105040.0300e10    '
        105040.03e10  105040.03e10  ('', '', '', '', '105040.03', 'e', '10', '', '')
     000105040.03e10  105040.03e10  ('', '', '', '', '105040.03', 'e', '10', '', '')
      105040.0300e10  105040.03e10  ('', '', '', '', '105040.03', 'e', '10', '', '')string: '  +286E000024.487900  -78.4500e.14500   .0140E789.  '
  +286E000024.487900  +286E24.4879  ('+', '286', '', '', '', 'E', '', '', '24.4879')
     -78.4500e.14500  -78.45e0.145  ('-', '', '', '', '78.45', 'e', '', '.145', '')
          .0140E789.  0.014E789  ('', '', '', '.014', '', 'E', '789', '', '')string: '  081,12.40E07,95.0120     0045,78,123.03500e-0.00  '081,12.40E07,95.0120  81,12.4E7,95.012  ('', '', '', '', '81,12.4', 'E', '', '', '7,95.012')
   0045,78,123.03500  45,78,123.035  ('', '', '', '', '45,78,123.035', '', '', '', '')string: '  0096,78,473.0380e-0.    0008,78,373.066000E0.    0004512300.E0000  '
    0096,78,473.0380  96,78,473.038  ('', '', '', '', '96,78,473.038', '', '', '', '')
  0008,78,373.066000  8,78,373.066  ('', '', '', '', '8,78,373.066', '', '', '', '')
         0004512300.  4512300  ('', '4512300', '', '', '', '', '', '', '')string: '  ..18000  25..00 36...77   2..8  '
           No match,  No catched string,  No groups.string: '  3.8..9    .12500.     12.51.400  '
           No match,  No catched string,  No groups.string: '  00099,111.8713000   -0012,45,83,987.26+0.000,099,88,44.or00,00,00.00must'
   00099,111.8713000  99,111.8713  ('', '', '', '', '99,111.8713', '', '', '', '')
  -0012,45,83,987.26  -12,45,83,987.26  ('-', '', '', '', '12,45,83,987.26', '', '', '', '')
         00,00,00.00  0  ('', '', '0', '', '', '', '', '', '')string: '  00099,44,and   0000,099,88,44.bom'
           00099,44,  99,44  ('', '99,44', '', '', '', '', '', '', '')
     0000,099,88,44.  99,88,44  ('', '99,88,44', '', '', '', '', '', '', '')string: '00,000,00.587000  77,98,23,45.,  this,that '
    00,000,00.587000  0.587  ('', '', '', '.587', '', '', '', '', '')
        77,98,23,45.  77,98,23,45  ('', '77,98,23,45', '', '', '', '', '', '', '')string: '  ,111  145.20  +9,9,9  0012800  .,,.  1  100,000 '
                ,111  111  ('', '111', '', '', '', '', '', '', '')
              145.20  145.2  ('', '', '', '', '145.2', '', '', '', '')
              +9,9,9  +9,9,9  ('+', '9,9,9', '', '', '', '', '', '', '')
             0012800  12800  ('', '12800', '', '', '', '', '', '', '')
                   1  1  ('', '1', '', '', '', '', '', '', '')
             100,000  100,000  ('', '100,000', '', '', '', '', '', '', '')string: '1,1,1.111  000,001.111   -999.  0.  111.110000  1.1.1.111  9.909,888'
           1,1,1.111  1,1,1.111  ('', '', '', '', '1,1,1.111', '', '', '', '')
         000,001.111  1.111  ('', '', '', '', '1.111', '', '', '', '')
               -999.  -999  ('-', '999', '', '', '', '', '', '', '')
                  0.  0  ('', '0', '', '', '', '', '', '', '')
          111.110000  111.11  ('', '', '', '', '111.11', '', '', '', '')



查看完整回答
反对 回复 2019-07-23

添加回答

回复

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信